本节目标
- CRUD : Create, Retrieve,Update,Delete
- 新增数据
- 查询数据
- 修改数据
- 删除数据
- 注释:在SQL中可以使用“–空格+描述”来表示注释说明
CRUD
即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。
一、新增(Create)
语法:
INSERT [INTO] table_name [(column [, column] ...)] VALUES (value_list) [, (value_list)] ... value_list: value, [, value] ...
案例:
insert into student valuse (1,'张三');
- 这里的个数,类型,顺序和表头结构匹配
- SQL没有字符类型,
‘’
和“”
都可以表示字符串 - 这里数据库在插入的有的时候是报错,这是因为在数据库不做任何修改,默认情况下创建数据库的字符集是
拉丁文
字符集,不能表示中文
- 此时我们要做的事情就是让我们的数据库,字符集和你输入的时候设置生
utf-8
create database test charset utf8;
- 现在就可以了,一般来说,我们的终端是utf8的,但是有的同学是gbk的;
- 其中
utf8
正常保存数据是没事的,带上表情,就有可能出错了,而utf8mb4
是更完整的utf8
指定列插入 + 全列插入
- 插入两条记录,value_list 数量必须和指定列数量及顺序一致
insert into student (name,gender) values('张三','男');
此时:values
后面的内容就是和前面的()的内容匹配
- 要想看到结果,就要使用查询语句,
- 可以看到,id是空着的,别的都有,这就是指定列插入
- 这里的这个语句下面详细介绍
select * from student;
多次插入
- 这里也可以一次性插入多条数据,那就是一次插入
insert into student values(2,'李四','男'),(3,'王五','男');
- 一次插入n个记录,比一次插入一个数据,分n次插入,效率要高
时间日期类型,数据的插入
create table homework (id int ,creatTime datetime);
- 插入时间的时候,是通过特定格式的字符串来表示时间日期的,如
‘2023-02-17 21:25:00’
insert into homework values(1,'2023-02-17 21:25:00');
- 那么我现在就想把这个时间日期设置成当前时刻,咋办?sql提供了一个特殊的函数,
now()
insert into homework values(1,now());
MySQL | 数据库的管理和操作【表的增删改查】(二):https://developer.aliyun.com/article/1426552