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) --報錯,后者超過規定范圍