sql基础
1. NOT NULL:
如果CUSTOMERS表已经创建,然后添加一个NOT NULL约束SALARY列在Oracle和MySQL:
ALTER TABLE CUSTOMERS
MODIFY SALARY DECIMAL(18,2) NOT NULL;
------------------------------
ALTER :修改。对象是表
MODIFY :修改、修饰。对象是字段属性。同类的还有add,set等操作。
DECLMAL(a,b):有效长度为a,小数位数b。
2. DEFAULT:
删除DEFAULT约束:
ALTER TABLE CUSTOMERS
ALTER COLUMN SALARY DROP DEFAULT;
---------------
COLUMN :列
3.UNIQUE:
如果CUSTOMERS表已经创建,然后要将唯一约束添加到AGE列:
ALTER TABLE CUSTOMERS
MODIFY AGE INT NOT NULL UNIQUE;
使用下面的语法,它支持命名的多个列的约束:
ALTER TABLE CUSTOMERS
ADD CONSTRAINT myUniqueConstraint UNIQUE(AGE,SALARY);
-----------
myUniqueConstraint UNIQUE(A,B)
删除unique所有约束:
ALTER TABLE CUSTOMERS
DROP CONSTRAINT MyConstraintUnique;
4.PRIMARY KEY
创建PRIMARY KEY约束:
ALTER TABLE CUSTOMERS
ADD PRIMERY KEY (ID);
添加多个PRIMARY KEY:
ALTER TABLE CUSTOMERS
ADD CONSTRAINT PK_CUSTID PRIMARY KEY (ID,NAME);
删除PRIMARY KEY:
ALTER TABLE CUSTOMERS
DROP PRIMARY KEY;
5.外键:
创建表时:
CUSTOMER_ID INT references CUSTOMERS(ID);
表已创建,字段未创建:
ALTER TABLE ODERS
ADD FOREIGN KEY CUSTOMERS_ID REFERENCES CUSTOMERS(ID);
删除外键:
ALTER TABLE ODERS
DROP FOREIGN KEY;
6.CHECK 约束
添加:
ALTER TABLE COSTOMERS
MODIFY AGE INT CHECK(AGE >=18);
多个:
ADD CONSTRAINT MyCheckConstraint CHECK(AGE>=18);
7. ORDER BY 排序多个字段
order by id desc,time desc
先是按 id 降序排列 (优先)
如果 id 字段 有些是一样的话 再按time 降序排列 (前提是满足id降序排列)