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降序排列)

 

posted @ 2017-07-06 17:16  John_leaf  阅读(281)  评论(0编辑  收藏  举报