大庆网站开发制作,长沙的互联网网站公司,动画设计技校,网站优化排名哪家性价比高ziduanSQL
DML
全称为#xff1a;Data Manipulation Language#xff0c;用来对数据库中表的数据记录进行增删改操作
插入数据
添加数据#xff08;INSERT#xff09;
给指定字段添加数据#xff1a;INSERT INTO 表名(字段名1#xff0c;字段名2#xff0c;......…ziduanSQL
DML
全称为Data Manipulation Language用来对数据库中表的数据记录进行增删改操作
插入数据
添加数据INSERT
给指定字段添加数据INSERT INTO 表名(字段名1字段名2......) VALUES(值1值2......);
给全部字段添加数据INSERT INTO 表名 VALUES(值1值2...)
批量添加数据
INSERT INTO 表名(字段名,字段名2,...) VALUES(值1,值2,...),(值1,值2,...);
INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...);
注意插入数据时需要一一对应字符串和日期数据应该包含在引号里插入数据大小应该在字段的规定范围内 create table emp(id int comment 编号,workno varchar(10) comment 工号,name varchar(10) comment 姓名,gender char(1) comment 性别,age int comment 年龄,idcard char(18) comment 身份证号,workpalace varchar(50) comment 工作地址,entrydate date comment 入职时间
)comment 员工表;
insert into emp(id, workno, name, gender, age, idcard, workpalace, entrydate) VALUES
(1,1,柳岩,女,18,12345678902345678,北京,2000-01-01),
(2,2,张无忌,男,28,12487789012045678,西安,2006-01-01),
(3,3,韦一笑,男,18,15456789082344678,上海,2030-01-01),
(4,4,赵敏,女,18,12355679067345678,北京,2000-01-01),
(5,5,小昭,女,18,26345879901245878,杭州,2000-01-01),
(6,6,杨晓,女,18,323456789052345678,北京,2000-01-01),
(7,7,范瑶,女,18,12345579014344678,南阳,2000-01-01),
(8,8,黛绮丝,女,18,623456789032234574,西安,2000-01-01),
(9,9,范凉凉,女,18,173456789072235674,北京,2000-01-01),
(10,10,陈友谅,男,18,92356789032234567X,南京,2000-01-01),
(11,11,常遇春,男,18,423567890322345674,北京,2000-01-01),
(12,12,张三丰,男,18,123467890322345674,武当,2000-01-01),
(13,13,灭绝,女,18,323556790322345674,峨眉,2000-01-01),
(14,14,胡青牛,男,18,22346789032234567X,北京,2000-01-01),
(15,15,周芷若,女,18,null,北京,2000-01-01),
(16,16,张士诚,男,18,33345789032234567X,北京,2000-01-01);
修改数据UPDATE
UPDATE 表名 SET 字段名1值字段名2值2,......[WHERE 条件];
条件可以用也可以没有如果没有会修改表中所有数据。
update user_table set namelisi where id1;
update emp set name乐瑶 where id1; 删除数据DELETE
DELETE FROM 表名 [WHERE 条件]
注意delete语句的条件可以用也可以没有如果没有则删除整张表的所有数据
delete语句不能删除某一字段的值
delete from emp where gender男; DQL
Data Query Language(数据查询语言)用于查询数据库中表的记录
语法 基本查询
查询多个字段
select 字段1字段2字段3...from 表名
例如select nameworkplace,age from emp//只显示三项姓名工作地点年龄
select name,age,gender from emp; 设置别名并查询
select 字段1[as 别名1]字段2[as 别名2]...from 表名
例如select workplace as 工作地点 from emp;
select name as姓名 from emp; 去除重复并查询
select distinct workplace 工作地点 from emp;
select distinct workpalace as工作地址 from emp; 条件查询 聚合函数 select count(*)from emp;
select max(age)from emp;
select avg(age)from emp;
select sum(age)from emp; 分组查询
select 字段列表 from 表名 [where 条件] group by 分组字段名[having 分组后过滤条件]
where与having区别
1、执行时间不同where是分组前过滤不满足不参与分组。having是分组后对结果进行过滤
2、判断条件不同where不能对聚会函数判断having可以
#获取男女员工数量
select gender,count(*)from emp group by gender; #统计男女员工平均年龄
select gender,avg(age)from emp group by gender; #查询年龄小于20的员工并根据工作地址分组获取员工数大于3的工作地址
select workpalace,count(*) from emp group by workpalace having count(*)3; 排序查询
select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2;
asc:升序默认 desc降序
多字段排序当第一个字段值相同才会根据第二个字段排序
#根据年龄降序
select * from emp order by age desc ; #g根据年龄对员工升序排序年龄相同根据入职时间降序
select * from emp order by age ,entrydate desc ; 分页查询
select 字段列表 from 表名 limit 起始索引查询记录数;
注意起始索引从0开始起始索引查询页码-1*每页显示记录数
分页查询不同数据库有不同实现MySQL是limit。
如果查询第一页。起始索引可省略直接简写limit 每页记录数
#查询第一页数据每页展示10条
select * from emp limit 0,10; #查询第二页数据每页展示10条
select * from emp limit 10,10; DQL执行顺序 1、from 2、where 3、group by 4、select 5、order by 6、limit 7、having