一,常用关键词
primary key
主键references 表名(列名)引用外键check(列名='约束样例')约束条件default('默认值')默认值not null非空unique唯一default(getdate())获取当前时间identity(1,2)自动增长,初始值1,增长步长2creatr 创建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 Schooldb
alter 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:\data\DB\School.amd',--物理地址
size=10MB,--文件初始大小
filegrowth=10%--文件增长方式
)
log on
(
name='School.lmd',--逻辑文件名
filename='D:\data\DB\School.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
版权归原作者 W羊羊羊 所有, 如有侵权,请联系我们删除。