高级查询(一)

高级查询(一)

修改表

修改表名

一个数据库,表名是唯一的,但可以通过SQL语句对已经创建的表名进行修改

/*修改表名*/
ALTER TABLE<旧表名> RENAME [TO] <新表名>;

其中,TO为可选参数,使用与否不影响结构。仅修改表名,表结构不变。

添加字段

随着业务需求的变化,可能需要向已存在的表中添加新的字段

/*添加字段*/
ALTER TABLE 表名 ADD 列名 varchar(52) not null;

修改字段

数据表中的一个字段包含字段名和数据类型,因此如果实现修改字段,可以包括修改字段名和修改数据存储的类型

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

原列名是修改前的列名,新列名是修改后的字段名,数据类型为修改后的,如果不修改则和原来的保持一致,数据类型不能为空

删除字段

删除字段是将数据表中的某个字段从表中移除

/*删除字段*/
ALTER TABLE 表名 DROP 列名

添加主外键

1.添加主键约束

/*添加主键约束*/
ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY 表名(主键字段);

2.添加外键约束

/*添加外键约束*/
ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (外键字段) REFERENCES关联表名(关联字段)

DML语句回顾

插入数据记录

1.插入单行数据

/*增加语句*/
INSERT INTO 表名 VALUES(值,值);
INSERT INTO 表名(列名) VALUES(值);
  • 表的字段名是可选的,如果省略,则依次插入所有字段
  • 多个列表和多个值之间使用逗号分隔
  • 值列表必须和字段名列表数量相同,且数据类型相符
  • 如果插入的是表中部分数据,字段名列表必须填写

2.插入多行数据

INSERT INTO 新表(列名) VALUES(值列表),(值列表)

3.将查询结果插入到新表

​ 句式1

INSERT INTO 新表(字段,字段)
SELECT 字段1,字段2
FROM 原表;

需要先按照所插入字段的类型,顺序,个数创建新表,才能插入数据

​ 句式2

SELECT 字段1,字段2
INTO 新表
FROM 原表;

插入语句的执行而创建新表,无须先建表

注意:句式2在MySQL中不支持,可以使用另外替代句式实现同样的功能

CREATE TABLE 新表(SELECT 字段1,字段2,FROM 原表);

更新数据记录

对表中的数据进行更新是一类频繁发生的操作,在MySQL中更新数据的语句和SQLserver中相同

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

删除数据记录

从数据表中删除数据使用DELETE语句,同样也可以使用WHERE 子句添加删除条件

DELETE FROM 表名 WHERE 条件;

除此之外,也可以TRUNCATE语句删除表中所有行

TRUNCATE TABKE 表名;

注意:TRUNCATE语句实现删除表中所有数据,删除后将重置自增列,表结构及其字段,约束,索引保持不变,执行速度比DELETE语句块

LIMIT子句

在MySQL中,查询语法与SQLserver稍有不同

SELECT 字段名列表 FROM 表名 WHERE 查询条件 GROUP BY 分组的字段 ORDER BY 排序的列名 ASC/DESC LIMIT 位置偏移数/行数;

IN子查询

SELECT 字段名列表 FROM 表名 WHERE 列名 IN(子查询语句)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值