MySQL 高级查询

修改表

修改表名

ALTER TABLE 旧表名 RENAME[TO] 新表名;

添加字段

ALTER TABLE 表名 ADD 字段名 数据类型 【属性】;

修改字段

ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 【属性】

删除字段

ALTER TABLE 表名 DROP 字段名;

添加主键

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

添加外键

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

插入单条数据

INSERT INTO 表名 【(字段名列表)】 VALUES (值列表);

插入多条数据记录

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

将查询结果插入新表

INSERT INTO 新表 (字段1,字段2......)
SELECT 字段1,字段2......
FROM 原表;
//事先创建且与插入数据字段相符
CREATE TABLE 新表(SELECT 字段1,字段2......FROM 原表);
//无须事先创建	

更新数据记录

UPDATE 表名 SET 字段1=值1,字段2=值2,......,字段n=值n
【WHERE 条件】;

删除数据记录

DELETE FROM 表名 【WHERE条件】;
TRUNCATE TABLE 表名;

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

LIMIT 子句

SELECT <字段名列表>
FROM <表名或视图>
【WHERE <查询条件>】
【GROUP BY <分组的字段名>】
【ORDER BY <排序的列名>【ASC 或 DESC】】
【LIMIT 【位置偏移量,】行数】;

聚合函数
MySQL 高级查询_第1张图片
常用的字符串函数
MySQL 高级查询_第2张图片
时间日期函数
MySQL 高级查询_第3张图片
数学函数
MySQL 高级查询_第4张图片
子查询

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

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

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

子查询的优点

  • 子查询比较灵活、方便,常作为增删改查的筛选条件,适合于操纵一个表的数据
  • 表连接更适合于查看多表的数据

IN 子查询

  • 子查询返回不止一个值时,使用比较运算符会出错
  • 常用 IN 替换等于(=)的子查询
  • IN 后面的子查询可以返回多条记录

归纳

MySQL 高级查询_第5张图片

你可能感兴趣的:(计算机,Java,MySQL)