【2023.10.12】SQL基础函数与约束

SQL基础函数:

包括字符串函数、数值函数、日期函数、流程函数

下面介绍部分有用的函数

数值函数:

函数 功能
CEIL(x) 向上取整
FLOOR(x) 向下取整
MOD(x) 返回x/y的模
RAND() 返回0~1以内随机数
ROUND(x,y) 求参数x的四舍五入的值,保留y位小数

流程函数:

函数 功能
IF(value,t , f ) 如果value为true,则返回t,否则返回f
IFNULL(val1,val2) 如果val1不为空,返回val1,否则返回val2
CASE WHEN[val1] THEN [res1]...ELSE[default] END 如果val为true,返回res1,...否则返回default默认值
CASE [expr] WHEN [val1] THEN [res1]...ELSE[default] END 如果expr为val1,返回res1,...否则返回default默认值

SQL约束介绍:

约束作用于表中字段,限制表中数据。

类型:

约束 描述 关键字
非空约束 限制该字段的数据不能为null NOT NULL
唯一约束 保证该字段的所有数据都是唯一的 UNIQUE
主键约束 主键是一行数据的唯一标识,要求非空且唯一 PRIMARY KEY
默认约束 保存数据时,若未指定字段的值,则用默认值 DEFAULT
检查约束 保证字段满足某个条件(8.0.16版本后) CHECK
外键约束 让两张表的数据建立连接,保证数据一致完整 FOREIGN KEY

用法代码展示:

create table user(
    id int primary key,/*主键约束*/
    name varchar(10) not null,/*非空约束*/
    age int check ( age > 0 && age <=100),/*检查约束*/
    status char(1) default '1',/*没有则默认为1*/
) comment '用户表';
 

外键约束:

外键用来让两张表之间建立连接,从而保证数据的一致性和完整性。

例如:在无外键约束的情况下,倘若删除部分课程信息,但仍有课程的先修课是删除的课程,

这就造成了数据的不完整。因此,应该建立外键关联

语法:(添加外键)

ALTER TABLE  表名(
    字段名 数据类型,
    ...
    [ONSTRAINT][外键名称] FOREIGN KEY(外键字段名) 
REFERENCES 主表(主表列名)
);/*创建与主表关联的表*/

ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名) 
REFERENCES 主表(主表列名);/*创建与主表关联的表*/

在添加外键关联后,若删除先修课信息,数据库报错

语法:(删除外键)

ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;

你可能感兴趣的:(学习日志,学习,sql,数据库)