create table命令
1 create table dept 2 ( dept_id int primary key, 3 dept_name nvarchar(100) not null, 4 dept_address nvarchar(100) 5 ) 6 7 creat table emp 8 ( emp_id int constraint pk_emp_id_a primary key, --主键约束 9 emp_name nvarchar(20) not null, 10 emp_sex nchar(1), 11 dept_id int constraint fk_dept_id_b foreign key references dept(dept_id) --外键约束 )
注意点:
1. 创建表的命令后面是小括号(),而不是{},
2. 注释用--
3. SQL Server里最后一行)的逗号可有可无,但是Oracle数据库不能加逗号,但是建议SQL最后一个字段不要写逗号,方便移植
4. nvarchar表示国际化编码长度可变的字符型变量
5. 变量类型写在变量名后面,跟C语言以及其他语言不同,SQLServer不是C语言写的
6. 主键外键可以命名,不然就是默认的名字
7. 写完后,鼠标左键选中整个代码,分析、执行,最后生成表
什么是约束constraint:
对一个表中的属性操作的限制
分类:
主键约束:不允许重复元素,避免数据的冗余
外键约束:通过外键约束,从语法上保证了本事物所关联的其他事物一定是存在的。事物和事物之间的关系是通过外键来体现的
check约束:保证事物属性的取值在合法的范围之内
1 create table student 2 ( 3 stu_id int primary key, 4 stu_sal int check (stu_sal>=1000 and stu_sal<=8000) 5 ) 6 7 insert into student values(1,1000) 8 insert into student values(2,10000) --报错,后者超过规定范围