高级查询
修改表名
ALTER TABLE 旧表名 RENAME [to]新表名;
添加子段
ALTER TAMBE 表名 ADD子段名 数据类型[属性];
修改字段
ALTER TAMBE 表名 CHANGE原字段名 新字段名 数据类型[属性];
删除字段
ALTER TAMBE 表名 DROP 字段名;
创建表之后来指定哪一个字段为主键
ALTER TABLE 表名 ADD CONSTRAINT 主键名
PRIMARY KEY 表名 (主键字段)
添加外键
ALTER TABLE 表名 ADD CONSTRAINT 外键名FOREIGH KEY(外键字段)
REFERENCES 关联的表名 (关联字段)
*注意
字段名是可选的,如果省略依次插入所有字段
多个列表和多个值之间使用逗号进行分割;
值列表和字段列表一一对应;
如插入的是表中的部分数据,字段名必填
插入多条记录
INSERT INTO 新表(字段名列表)
VALUES(值列表1),(值列表2)....;
例如:
为了避免表结构发生变化引发的错误,建议插入数据时写明具体字段的名字
将查询结果插入新表
SQL server:
MySQL:
更新数据记录
UPDATE 表名
SET 字段1=值1,字段2=值2....
[WHERE 条件]
删除数据记录
DELETE FROM 表名[WHERE条件];
TRUNCATE TABLE表名;
TRUNCATE 语句删除后将重置列,表结构及其字段 约束 索引保持不变,执行速度比DELETE语句快
MYSQL查询语句使用LIMIT子句限制结果集(分页)
使用LIMIT子句时,注意第一条记录是0;
子查询是一个嵌套在SELECT INSERT UPDATE 或者DELETE语句或者其他子查询中的查询
子查询在WHERE语句中的一般用法
SELECT...FROM 表1 WHERE 字段1 比较运算符(子查询)
*注意
先执行子查询,返回所有来自子查询的结果
再执行外围的父查询,返回查询的最终结果
将子查询和比较运算符联合使用,必须保证子查询返回的值不能多于一个
可以通过两种方法关联多表查询
表连接---合并多个数据表中的字段
子查询---将一个查询嵌套在另一个查询中