SQL - 数据操作语句

SQL - 数据操作语句

数据操作语言-DML

概念:

  • DML(Data Manipulation Language), 数据操作语言。
  • 对数据表数据的增、删、改操作。

1 新增

**语法: **INSERT INTO 表名(列1, 列2, 列3…) VALUES(值1, 值2, 值3…);

代码演示:

新增一条数据:

# 新增一条数据
insert into student
(stu_id,stu_name,stu_age,stu_gender,stu_address,stu_born)
values(101,'张三',20,'男','北京昌平','2000-1-1');

新增多条数据:

# 新增多条数据
insert into student
values(102,'李四',21,'男','北京海淀','2000-1-1'),
	  (103,'张说',20,'男','北京朝阳','2000-1-1'),
	  (104,'张玖',20,'男','北京通州','2000-1-1'),
	  (105,'赵六',20,'男','北京大兴','2000-1-1'),
	  (106,'王五',20,'男','北京怀柔','2000-1-1'),
	  (107,'张利',20,'男','北京昌平','2000-1-1');

部分列添加数据:

# 部分列添加数据
insert into student(stu_id,stu_name,stu_address)
values(108,'刘备','四川'),(109,'曹操','河南'),(110,'孙权','哈尔滨');

注意:表名后的列名和VALUES里的值要一一对应(个数、顺序、类型)

2 修改

语法: UPDATE 表名 SET 列1=新值1 ,列2 = 新值2,… WHERE 条件;

代码演示:

# 2 修改
# 需求: 修改学号为101的 年龄加5 地址改为'北京昌平沙河'
update student set stu_age = stu_age+5, stu_address = '北京昌平沙河' where stu_id = 101;

注意:

  • SET 后多个列名=值。
  • 绝大多数情况下都要加WHERE条件,指定修改,否则为整表更新。

3 删除

**语法: **DELETE FROM 表名 WHERE 条件;

代码演示:

delete:

# 3 删除
# 需求: 删除学号为102的学生信息
delete from student where stu_id=102;

注意: 删除时,如若不加WHERE条件,删除的是整张表的数据。

4 清空

语法: TRUNCATE TABLE 表名;

代码演示:

truncate table:

# 使用 truncate table 表名 清空数据, 先删除表, 再新建表, 只能整表删除..
truncate table student;

注意: delete 和 truncate 的区别

DELETE是清空整张表的数据,不释放空间;TRUNCATE是把表销毁,再按照原表的结构创建一张新表,释放空间。
TRUNCATE速度比DELETE快。
DELETE属于DML语句,可以回滚,TRUNCATE属于DDL语句,不可以回滚。

数据类型

MySQL支持多种类型,大致可以分为三类:

  • 数值类型
  • 日期时间类型
  • 字符串类型

数据类型可以用来约束数据的类型。

1 数值类型

类型大小范围(有符号)范围(无符号)
INT4字节(-2147483648,2147483647)(0,4294967295)
DOUBLE8字节(-1.797E+308,-2.22E-308)(0,2.22E-308,1.797E+308)
DOUBLE(M,D)8字节DOUBLE(5,2) ,-999.99-999.99M表示位数最大值65,D表示小数位数
DECIMAL(M,D)8字节DECIMAL(5,2) ,-999.99-999.99同上

2 字符串类型

类型大小用途
CHAR0-255字符定长字符串 char(10)10个字符。优点:查询速度快;缺点:浪费空间
VARCHAR0-65535字符变长字符串 varchar(10)10个字符 优点:节省空间;缺点:查询速度慢
BLOB0-65535字节存储二进制形式的文件数据
TEXT0-65535字节存储长文本文件数据

注: MySQL中每条记录最大长度64k。

3 日期时间类型

类型大小范围格式用途
DATE3字节1000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3字节-838:59:59’/'838:59:59HH:MM:SS时间值或持续时间
YEAR1字节1901/2155YYYY年份值
DATETIME8字节1000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP4字节1970-01-01 00:00:00/2038 结束时间是北京时间 2038-1-19 11:14:07格林尼治时间 2038年1月19日 凌晨 03:14:07YYYYMMDD HHMMSS混合日期和时间值,时间戳
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贰贰柒丶阿拽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值