MySQL高级查询

修改表名:
ALTER TABLE<旧表名> RENAME [TO] <新表名>;
添加字段
ALTER TABLE 表名 ADD 字段名 数据类型 [属性];
修改字段:
ALTER TABLE 表名 CRANGE 原字段名 数据类型 [属性];
删除字段:
ALTER TABLE 表名 DROP 字段名;
添加主外键:ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY 表名(主键字段);(添加主键约束)
ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段)REFERENCES 关联表名(关联字段);(添加外键约束)
DML语句回顾
插入数据记录:
INSERT INTO 表名 [(字段名列表)] VALUES (值列表);(插入单行数据)
INSERT INTO 新表(字段名列表)VALUES(值列表1),…,(值列表n);(插入多行数据)
将查询结果插入到新表:以下两种句式可以实现将已有数据表中的数据备份到其他表中:
句式1语法:
INSERT INTO 新表(字段1,字段2,…)
SELECT 字段1,字段2,…
FROM 原表;
句式2语法:
SELECT 字段1,字段2,…
INTO 新表
FROM 原表;
以上句式2在MySQL中不支持,可以使用另外替代句式来实现同样的功能,语法如下:
CREATE TABLE 新表 (SELECT 字段1,字段2,…FROM 原表);
更新数据记录:
**UPDATE 表名 SET 字段1=值1,字段2=值2,…字段n=值n(WHERE 条件);
**
DELETE FROM 表名 [WHERE 条件];
除此之外,也可以使用TRUNCATE语句删除表中所有行:
TRUNCATE TABLE 表名;
数据查询
SQL Server中数据查询与金额SELECT语句,语法如下:
**SELECT<字段名列表>
FROM<表名或视图>
[WHERE<查询条件>]
[GROUP BY<分组的字段名>]
[HAVING<条件>]
**
LIMIT子句
在MySQL中,查询语法与SQL Server稍有不同,语法如下:
SELECT<字段名列表>
FROM<表名或视图>
[WHERE<查询条件>]
[GROUP BY<分组的字段名>]
[ORDER BY<排序的字段名>[ASC 或 DESC] ]
[LIMIT [ 位置偏移量,]行数];
IN和NOTIN子查询
当子查询要返回多个行来与外层查询进行比较运算时,可以使用运算符 IN 和 NOT IN。它们会测试某个给定的比较值是否存在于某一组值里。如果外层查询里的行与子查询返回的某一个行相匹配,那么 IN 的结果为真。如果外层查询里的行与子查询返回的所有行都不匹配,那么 NOT IN 的结果为真。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值