欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > SQL SERVER ——表的基本操作

SQL SERVER ——表的基本操作

2025/1/7 5:15:11 来源:https://blog.csdn.net/web_13233421436/article/details/144869474  浏览:    关键词:SQL SERVER ——表的基本操作

一,常用关键词

primary key

主键

references 表名(列名)

引用外键

check(列名=‘约束样例’)

约束条件

default(‘默认值’)

默认值

not null

非空

unique

唯一

default(getdate())

获取当前时间

identity(1,2)

自动增长,初始值1,增长步长2

creatr

创建

add

添加

drop

删除

table

column

CONSTRAINT

约束

二,创建表

创建表的前提是存在一个数据库,存储要创建的表,若还没有数据库,则需要先创建数据库

create database (数据库名)--创建数据库

有了一个数据库后在该数据库创建表

--切换数据库
use Schooldb--创建表
create table Student 
(--创建列Stu_id	int		primary key	NOT NULL,Stu_name varchar(20) NOT NULL,Stu_sex varchar(2) NOT NULL check(Stu_sex='男' or Stu_sex='女') default('男'),age 	int		,	Brithdate	date NOT NULL,Phone1 varchar(11)	unique,Phone2 varchar(11)	unique,Address varchar(100),Class_id varchar(4)								
)CREATE TABLE Course
(-- 创建列Course_id VARCHAR(5) PRIMARY KEY  NOT NULL,Course_name VARCHAR(20) NOT NULL,Course_hour smallint NOT NULL,Introduce VARCHAR(200)
);CREATE TABLE StudentGrade
(-- 创建列Stu_id INT NOT NULL	references Student(Stu_id),Course_id VARCHAR(5) NOT NULL references Course(Course_id),Grade smallint -- 设置组合主键PRIMARY KEY (Stu_id, Course_id)
);

三,删除表

--判断表是否存在
if exists(select *from sys.objects where name='表名'and type ='U')
drop table	表名--若存在则删除表

四,修改表结构

1.添加列

--alter table 表名 add 新列名 数据类型
alter table People add name vachar(20)--示例
use Schooldbalter table StudentGrade add point float

2.删除列

--alter table 表名 drop 列名
alter table People drop column name--示例
alter table studentGrade drop column point 

四,列的常用操作

1.添加约束

添加约束
--alter table 表名 add constarint	约束名 check(表达式)
alter table Course add CONSTRAINT year check (year BETWEEN 2006 AND 2020);--添加约束(主键)
--alter table 表名 add constarint	约束名 primary key(列名) 
alter table Course add CONSTRAINT  primary key (year);--添加约束(唯一)
--alter table 表名 add constarint 约束名	unique(列名) 
alter table Course add CONSTRAINT UQ_Year_Unique unique(year)--添加约束(默认)
--alter table 表名 add constarint	约束名 default 默认值 for 列名alter table Course add CONSTRAINT DF_Year_Default default 2000 for year;--添加约束(外键)
--alter table 表名 add constarint 约束名	foreign key(列名) reference 关联的表名(列名)
alter table Course add CONSTRAINT FK_Year_OtherTable
FOREIGN KEY (year) REFERENCES OtherTable(OtherColumn);

2.删除约束

--alter table 表名 drop constarint 约束名

五,具体操作

--新建数据库
create database Schooldb
on
(	name='School.amd',--逻辑文件名filename='D:dataDBSchool.amd',--物理地址size=10MB,--文件初始大小filegrowth=10%--文件增长方式
)
log on
(name='School.lmd',--逻辑文件名filename='D:dataDBSchool.lmd',--物理地址size=10MB,--文件初始大小filegrowth=10%--文件增长方式
)
--切换数据库
use Schooldb--创建表
create table Student 
(--创建列Stu_id	int		primary key	NOT NULL,Stu_name varchar(20) NOT NULL,Stu_sex varchar(2) NOT NULL check(Stu_sex='男' or Stu_sex='女') default('男'),age 	int		,	Brithdate	date NOT NULL,Phone1 varchar(11)	unique,Phone2 varchar(11)	unique,Address varchar(100),Class_id varchar(4)								
)CREATE TABLE Course
(-- 创建列Course_id VARCHAR(5) PRIMARY KEY  NOT NULL,Course_name VARCHAR(20) NOT NULL,Course_hour smallint NOT NULL,Introduce VARCHAR(200)
);CREATE TABLE StudentGrade
(-- 创建列Stu_id INT NOT NULL	references Student(Stu_id),Course_id VARCHAR(5) NOT NULL references Course(Course_id),Grade smallint -- 设置组合主键PRIMARY KEY (Stu_id, Course_id)
);use Schooldb--添加列alter table Course add year int--修改数据类型alter table Course alter  column year smallint--添加约束alter table Course add CONSTRAINT year CHECK (year BETWEEN 2006 AND 2020);--普通条件约束alter table Course add CONSTRAINT UQ_Year_Unique unique(year);--唯一约束alter table Course add CONSTRAINT  PK_Year PRIMARY KEY (year);--主键alter table Course add CONSTRAINT DF_Year_Default DEFAULT 2000 FOR year;--默认alter table Course add CONSTRAINT FK_Year_OtherTable
FOREIGN KEY (year) REFERENCES OtherTable(OtherColumn);--外键--删除列alter table Course drop column year

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com