文章目录
DML操作表中数据
数据乱码问题
客户端与服务端解码不同
inset插入数据应该注意的问题
- 插⼊的数据应与字段的数据类型相同
- 数据的⼤⼩应在列的规定范围内,例如:不能将⼀个⻓度为 80 的字符串加⼊到⻓度为 40的列中。
- 在 values 中列出的数据位置必须与被加⼊的列的排列位置相对应。在 mysql 中可以使⽤
value,但不建议使⽤,功能与 values 相同。 - 字符和⽇期型数据应包含在单引号中。 MySQL 中也可以使⽤双引号做为分隔符。
- 不指定列或使⽤ null,表示插⼊空值
1.插入数据
值的顺序和字段顺序要一致
insert into user1 values('张三', 23, '男', 78.9, '2021-07-13 13:23:45');
insert into user1 values('张三', 23, '男', 78.9, now());
insert into user1 values('张三', null, '男', 78.9, null);
values值的个数和顺序必须跟前面括号中的字段顺序一致
insert into user1(name, score, gender) values('张三', 78.9, '男');
mysql可以一次性添加多个记录,用逗号分割
insert into user1 values('张三', null, '男', 78.9, null),
('李四', 18, '男', 78.9, null),
('王五', 23, '男', 78.9, null),
('赵六', 45, '女', 78.9, null),
('铁蛋', 32, '男', 78.9, null);
2.更新数据
-- 修改所有数据
update user1 set name = '张三';
-- name=张三的才要修改(条件)
update user1 set name = '张四' where name='张三';
-- 修改多个字段
update user1 set age = 19, birthday=now() where name='张三';
3.删除数据
delete from user1;##删除所有记录
delete from user1 where name='张三';
truncate与dalete的区别:
truncate user1;#删除全部
truncate是删除整个表,重新建立一个表.
dalete是删除表中数据.
按效率,truncate更高