以下举几个在建置新表格时设定主键的方式:
MySQL:
CREATE TABLE Customer
(SID integer,
Last_Name varchar(30),
First_Name varchar(30),
PRIMARY KEY (SID));
Oracle:
CREATE TABLE Customer
(SID integer PRIMARY KEY,
Last_Name varchar(30),
First_Name varchar(30));
SQL Server:
CREATE TABLE Customer
(SID integer PRIMARY KEY,
Last_Name varchar(30),
First_Name varchar(30));
以下则是以改变现有表格架构来设定主键的方式:
MySQL、Oracle、SQL Server:
ALTER TABLE Customer ADD PRIMARY KEY (SID);
请注意,在用ALTER TABLE语句来添加主键之前,我们需要确认被用来当做主键的栏位是设定为 『NOT NULL』 ;也就是说,那个栏位一定不能没有资料
外来键外来键
以下列出几个在建置 ORDERS 表格时指定外来键的方式:
MySQL:
CREATE TABLE ORDERS
(Order_ID integer,
Order_Date date,
Customer_SID integer,
Amount double,
Primary Key (Order_ID),
Foreign Key (Customer_SID) references CUSTOMER(SID));
Oracle:
CREATE TABLE ORDERS
(Order_ID integer primary key,
Order_Date date,
Customer_SID integer references CUSTOMER(SID),
Amount double);
SQL Server:
CREATE TABLE ORDERS
(Order_ID integer primary key,
Order_Date datetime,
Customer_SID integer references CUSTOMER(SID),
Amount double);
以下的例子则是藉着改变表格架构来指定外来键。这里假设 ORDERS 表格已经被建置,而外来键尚未被指定:
MySQL:
ALTER TABLE ORDERS
ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid);
Oracle:
ALTER TABLE ORDERS
ADD (CONSTRAINT fk_orders1) FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid);
SQL Server:
ALTER TABLE ORDERS
ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid);
TRUNCATE TABLE的指令。在这个指令之下,表格中的资料会完全消失,可是表格本身会继续存在。TRUNCATE TABLE的语法为下:
TRUNCATE TABLE "表格名"
更新指令
UPDATE "表格名"
SET "栏位1" = [值1], "栏位2" = [值2]
WHERE {条件}