创建表 CREATE TABLE
不同的 DBMS 中 CREATE TABLE 语法不同
CREATE TABLE Products
(
prod_id CHAR(10) NOT NULL.
vend_id CHAR(10) NOT NULL,
prod_desc VARCHAR(1000) NULL
);
使用 NULL 值
- 每行的 NULL/NOT NULL 代表是否允许 NULL 值
- 有些DBMS可以省略关键字NULL,有些不可以
- 只有不允许NULL的列才能作为主键
指定默认值 DEFAULT
CREATE TABLE OrderItems
(
quantity INTEGER NOT NULL DEFAULT 1
);
更新表 ALTER TABLE
不同DBMS允许更新的内容差别很大
-- 增加一列
ALTER TABLE Vendors
ADD vend_phone CHAR(20);
-- 删除一列,只对部分DBMS有效
ALTER TABLE Vendors
DROP COLUMN vend_phone;
- 对表结构更复杂的更改需要手动创建新表,复制数据再重命名新表
删除表 DROP TABLE
DROP TABLE CustCopy;
重命名表
DB2、MariaDB、MySQL、Oracle和PostgreSQL使用RENAME语句,SQL Server使用sp_rename存储过程,SQLite使用ALTER TABLE
复制表
CREATE TABLE CustCopy AS SELECT * FROM Customers;
可以明确给出列名、使用任何 SELECT 选项和子句,以及使用联结