8-9章数据完整性与MySQL语言
.数据的完整性包括:实体、参照、用户定义的完整性,相关操作:create /alter/(drop/add)
(1)实体:主键-primary key(只有一个),唯一--unique(可以多个),
(2)参照:外键-foreign key, constraint外键约束名foreign key(外键名) references被参照表名(主键名)
(3)用户定义:检查-check(表达式)
!. SQL语言的组成(4类):
(1)数据定义语言(Data Definition Language,DDL):主要用于定义数据库、表、视图与索引操作(CREATE、ALTER、DROP)
(2)数据操作语言(Data Manipulation Language,DML):主要用于对数据进行添加修改和删除(INSERT、UPDATE、DELETE)
(3)数据查询语言(Data Query Language,DQL):主要用于查询数据(SELECT)。
(4)数据控制语言(Data Control Language,DCL)主要用于控制用户的访问权限(GRANT、REVOKE、COMMIT、ROLLBACK)
.常用的内置函数:
数学函数:
(1) rand():返回0-1的随机值
(2) sqrt(a):返回一个数a的平方根
(3) abs(a):返回a的绝对值
(4) floor(a):小于或等于a的最大整数值
(5) ceiling(a):大于或等于a的最小整数值
(6) round(a):返回a的四舍五入的整数值
(7) truncate(a,b):截取a的b位小数点的小数
字符串函数:
(1) ascii(a):a的ascii值.
(2) char(a):a的ascii值转换成字符
(3) left(a,b)/right(a,b):截取a的左/右b位字符串
(4) length(a):返回a的字节长度
(5)REPLACE(a,b,c):用第三个字符串表达式替换第一个字符串表达式中包含的第二个字符串表达式,并返回替换后的表达式。
(6)SUBSTRING(s,n, len):用于从字符串s的第n个位置开始截取长度为len的字符串。
日期和时间函数
(1)CURDATE( )/CURRENT_DATE( ):用于返回当前日期
(2)CURTIME( )/CURRENT_TIME( ):用于取得当前时间
(3)NOW():用于返回当前日期和时间
其它函数
(1)IF(expr,v1,v2):用于条件判断,如果表达式expr成立,则执行v1,否则执行v2
(2)IFNULL(v1,v2):也用于条件判断,如果表达式v1不为空,则显示v1的值,否则显示v2的值
(3)VERSION():用于返回数据库的版本号