MySQL高级查询语言

使用DDL语句修改表?

    常用修改语法:

    #修改表名:ALTER TABLE 旧表明 RENAME [TO] 新表明; TO:可选项

    #添加字段:ALTER TABLE 表名 ADD 字段名 数据类型 [属性]; 属性:可选项

    #修改字段:ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 [属性];

    #删除字段:ALTER TABLE 表名 DROP 字段名;

示例:

MySQL高级查询语言


添加主键:

ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY 表名(主键字段) 

 MySQL高级查询语言

 添加外键:

ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (外键字段)REFERENCES 关联表名(关联字段)

MySQL高级查询语言

DLL语句:

插入单条数据记录:

INSERT INTO 表名 [(字段名列表)] VALUSE (值列表);

注意:字段名是可选的。如果省略则依此插入所有字段

多个列表和多个值之间使用逗号分隔值列表和字段名列表一一对应

如插入的是表中部分数据,字段名列表必填:

MySQL高级查询语言

插入多条数据记录:

 INSERT INTO 新表 (字段名列表)VALUES (值列表1),(值列表2);

MySQL高级查询语言

注意:为避免表结构发生变化引发的错误,建议插入数据时写明具体字段名;
将查询结果插入新表:
(1)新表必须存在:

 MySQL高级查询语言

(2)新表可以不存在:

MySQL高级查询语言

(3)更新数据记录?

 MySQL高级查询语言

(4)删除数据记录?

 MySQL高级查询语言

 经验:TRUNCATE 语句删除后将重置自增列,表结构及其字段约束,索引保持不变,执行速度比DELETE语句快

DQL语句:

LIMIT 子句和常用函数?

MySQL高级查询语言
语法:

LIMIT子句:

MySQL查询语句中使用LIMIT子句限制结果集

MySQL高级查询语言

注意位置偏移量从0开始 

示例:

MySQL高级查询语言


常用函数--聚合函数?

MySQL高级查询语言


常用函数--字符串函数?

 MySQL高级查询语言


常用函数--时间日期函数?MySQL高级查询语言

常用函数--数学函数?

MySQL高级查询语言


简单子查询?

查询比李斯文小的学生

MySQL高级查询语言

子查询是一个嵌套在 SELECT INSERT UPDATE或 DELETE 语句或其他子查询中的查询

子查询在WHERE 语句中的一般用法

SELECT .....FROM 表1 WHERE 字段1 比较运算符 (子查询)

注意:

先执行子查询,返回所有来自子查询的结果

在执行外围的父查询,返回查询的最终结果

将子查询和比较运算符联合使用,必须保证子查询返回的值不能多于一个

示例:MySQL高级查询语言 MySQL高级查询语言MySQL高级查询语言


IN子查询?

比较运算符后面的子查询只能返回单个数值

IN子查询可跟随返回多条记录的子查询

 其中示例:MySQL高级查询语言