【1】CHECK关键字:设定列的值的范围。
(1)添加方法:CREATETABLE 表名 (字段名 字段类型,...,CHECK (字段名0>=值)) ;
(2)追加方法: 单列:ALTERTABLE 表名 ADD CHECK(列>=值);
多列:ALTERTABLE 表名 ADD CONSTRAINT 约束名 CHECK(列>=值 AND 列<=值) ;
(3)删除方法:ALTERTABLE 表名 DROP CHECK 约束名 ;
【2】DEFAULT关键字:
(1)设定默认值:
1.我们MySQL会给这些列自动加一个默认值为NULL的默认值。
2.我们如果追加默认值会覆盖掉前面设定的默认值。
3.如果删除默认值,他是不会自动回到default NULL。而是没有了默认值,没有默认值那么我们插入数据的时候就一定需要插入这一列的数据,这个数据也可以是NULL。
(2)添加方法:CREATE TABLE 表名 (字段名 字段类型 DEFAULT 默认值,字段名 字段类型...);
(3)追加方法:ALTER TABLE 表名 ALTER 列名 SET DEFAULT 默认值 ;
(4)删除方法:ALTER TABLE 表名 ALTER 列名 DROP DEFAULT 。
【3】SQL 视图(Views):约束用于限制介入表的数据的类型;
(1)特性:
1.暴露部分数据给外部。
2.视图主要用于读取数据,因为插入数据要受到原来的表的限定;
3.视图实质上并不是一张表,尽管看起来一模一样,但是数据实质上市存在原来的表中的;
4.简化我们某些较为复杂的业务逻辑。
(2)创建视图:CREATE VIEW 视图名 AS SELECT STATEMENT(查询语句) ;
例子: mysql> create view v_s as select id,name,address from student;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| restaurant |
| sc |
| school |
| test |
+--------------------+
mysql> desc v_s;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id | int(10) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| address | varchar(50) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
(3)修改视图:CREATE OR REPLACE VIEW 视图名 AS SELECT STATEMENT(查询语句);
例子:
mysql> create or replace view v_s as select id,name,sex from student;
Query OK, 0 rows affected (0.16 sec)
mysql> desc v_s;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(10) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| sex | varchar(4) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
(4)删除视图:DROP VIEW 视图名 ;