1.主鍵約束
定義爲主鍵(primary key)的列不允許有重複值出現,而且不能爲空
創建clerk表,
create table clerk
(
cleid int primary key, --主鍵
cleName nvarchar(50), --名字
age int --年齡
)
向clerk表中添加 cleid爲:1000的數據項
insert into clerk values(1000,'古巨基',48);
在添加cleid仍爲:1000就會出錯,如
insert into clerk values(1000,'趙薇',49);
2.插入部分列表
如果有些字段的信息未知,則可以省略,但是省略字段不能是主鍵哦
格式爲:
insert into 表名 (字段列表)values(值)
這裏“字段列表”和“值”要一 一對應
如不知道年齡(age)值時,
insert into clerk (cleid,cleName)values(1001,'林心如');
3.更新多個字段
更新上表cleid爲1001的年齡爲18,姓名爲“趙薇”
update clerk set age=18,cleName='趙薇' where cleid=1001
4.查詢帶NULL的數據
對下表的age=NULL的數據的姓名修改爲“陸如萍”
update clerk set cleName='陸如萍' where age is NULL
注意,判斷NULL時不是用“=NULL”,而是用“is NULL”
5.設置外鍵
假設要設計兩張表:dept部門表和emp員工表。部門表裏主鍵設置爲deptno, 員工表主鍵爲empno,但是員工都有各自的歸屬部門,即員工表裏存在部門表信息,且爲了唯一標識部門信息,要調用deptno字段存儲,這種爲了和其他表關聯而將對方的主鍵設置爲自己表的列屬性的行爲稱爲設置外鍵(自己的理解)
--創建dept部門表
create table dept
(
deptno int primary key, --部門ID
dname nvarchar(30), --部門名稱
loc nvarchar(30) --部門位置
)
--創建emp員工表
create table emp
(
empno int primary key, --員工ID
empname nvarchar(30), --員工姓名
job nvarchar(30), --員工職位
mar int, --直系領導
hiredata datetime, --工作日期
salary numeric(10,2), --薪水
comm numeric(10,2), --獎金
deptno int foreign key references dept(deptno) --deptno在dept表中已作爲主鍵,爲了讓部門表和員工表關聯,則設deptno爲外鍵
)
--插入數據
insert into dept values(1000,'無線產品部','三樓');
insert into dept values(1003,'策劃部','四樓');
--插入數據
insert into emp values(798,'李子維','畫家',800,'2008-11-1',100000,100,1003);
insert into emp values(799,'莫俊傑','詩人',800,'2003-11-1',100000,100,1000);
insert into emp values(800,'黃雨暄','策劃',800,'2003-11-1',100000,100,1003);
--顯示數據
select * from dept
--顯示數據
select * from emp