----------------------------------------个人总结--------------------------------------------------------------------------------------------
--查询
select * from e_deliver_details
--查询总数
select COUNT(*) from e_deliver_details
--where = 语句
select * from e_deliver_details where id = 360
-- <>不等于号
select * from e_deliver_details where id <>360
--不等于
select * from e_deliver_details where id != 360
--等于空的
select * from e_deliver_details where barcode is null
--in 的范围使用
select * from e_deliver_details where sku in (100070,10053)
--between and 在什么之间
select * from e_deliver_details where id between 360 and 365
--like 模糊查询 1%是之前的
--1开头的
select * from e_deliver_details where sku like '1%'
--四个下划线是匹配第五个字是7的
select * from e_deliver_details where sku like '____7%'
--包含所有有9的
select * from e_deliver_details where sku like '%9%'
--查询倒数第二个
select * from e_deliver_details where sku like '%9_'
--and的使用,连个条件都满足
select * from e_deliver_details where id = 364 and sku = 177399
--or满足一个条件就行
select * from e_deliver_details where deliver_no = 'PR000000000262' or sku = 1773399
--and和or同时使用
select * from e_deliver_details where deliver_no = 'PR000000000262'and (sku = 20000 or num = '2');
--按照sku升序排序
select * from e_deliver_details order by sku,barcode
--按照降序排序
select * from e_deliver_details order by sku desc
--新增,没有写列名,需要把全部值插入进去
INSERT INTO test VALUES (3,"dd","sdfsd");
--新增,可以根据字段名字随便插入几个,不用全部插入
INSERT INTO test (id,dsfasdf) VALUES (3,'asdfsdf');
--根据id修改某一个字段,如果不写where语句,将会更改所有的数据,可以修改多个字段
update test set sex ='888' where id =2
--删除id的哪一行
delete from test where id = 2
--根据条件删除
delete from test where id =1 and sex = 'dd'
--清空表,
delete from test
--分页,从第0个开始,每页显示3条
select * from test limit 0,3;
--列的别名查询
select name '姓名' from test
--取两个表的交集
select * from test inner join clazz on test.id = clazz.id
--返回左表的所用,右表没有匹配的为空
select * from test left join clazz on test.id = clazz.id
--返回右表的所用,左表没有匹配的为空
select * from clazz right join test on test.id = clazz.id
create table admin( id int auto_increment primary key,
name varchar(25) not null,
sex varchar(2)
)
--增加一列
alter table test add column times datetime
delete from admin
--创建数据库
create database test;
--删除数据库d
drop database base_name;
--删除表格
drop table test_name
--函数 平均值
select avg(age) from test
--函数 总和
SELECT sum(age) from test
--函数 最小值
select min(age) from test
--函数 最大值
select max(age) from test
--函数 计数
select count(age) from test
--增加一列
alter table test add column clo varchar(20)
group by
--分组查询
select sex from test group by sex;
--列出分组后的几个name逗号分隔
select sex, GROUP_CONCAT(name) from test group by sex
--分组列出男女的平均的数量
select sex,avg(age) from test group by sex
--性别超过两个的数量的总数
select sex,count(sex) from test group by sex having count(sex)>2
-- with rollup的作用是:在最后新增一行,来记录当前列里所有记录的总和
select sex ,group_concat(age) from test group by sex with rollup
-- distinct去重
select DISTINCT sex from test
-- 根据name去重,拿到其他值得欣喜
select *,count(distinct name) from test group by name
--返回1992-03-06是周几
select dayofweek('1992-03-06')
--返回这个月的第几天
select DAYOFMONTH ('1992-03-08')
--返回date是一年中的第几日(在1到366范围内)
select DAYOFYEAR('1998-02-03');
--返回date中的月份数值
select MONTH('1998-02-03');
--返回date是星期几(按英文名返回)
select DAYNAME("1998-02-05");
--返回date是几月(按英文名返回)
select MONTHNAME("1998-02-05");
--返回date是一年的第几个季度
select QUARTER('98-04-01');
-- 返回date是一年的第几周(first默认值0,first取值1表示周一是周的开始,0从周日开始)
select WEEK('1998-02-20');
--返回date的年份(范围在1000到9999)
select YEAR('98-02-03');
--返回time的小时数(范围是0到23)
select HOUR('10:05:03');
--返回time的分钟数(范围是0到59)
select MINUTE('98-02-03 10:05:03');
--返回time的秒数(范围是0到59)
select SECOND('10:05:03');
select DATE_FORMAT('1997-10-04 22:23:00','%W %M %Y');
select DATE_FORMAT('1997-10-04 22:23:00','%H:%i:%s');
select SYSDATE()
--返回time值有多少秒
select TIME_TO_SEC('22:23:00');
--查询
select * from e_deliver_details
--查询总数
select COUNT(*) from e_deliver_details
--where = 语句
select * from e_deliver_details where id = 360
-- <>不等于号
select * from e_deliver_details where id <>360
--不等于
select * from e_deliver_details where id != 360
--等于空的
select * from e_deliver_details where barcode is null
--in 的范围使用
select * from e_deliver_details where sku in (100070,10053)
--between and 在什么之间
select * from e_deliver_details where id between 360 and 365
--like 模糊查询 1%是之前的
--1开头的
select * from e_deliver_details where sku like '1%'
--四个下划线是匹配第五个字是7的
select * from e_deliver_details where sku like '____7%'
--包含所有有9的
select * from e_deliver_details where sku like '%9%'
--查询倒数第二个
select * from e_deliver_details where sku like '%9_'
--and的使用,连个条件都满足
select * from e_deliver_details where id = 364 and sku = 177399
--or满足一个条件就行
select * from e_deliver_details where deliver_no = 'PR000000000262' or sku = 1773399
--and和or同时使用
select * from e_deliver_details where deliver_no = 'PR000000000262'and (sku = 20000 or num = '2');
--按照sku升序排序
select * from e_deliver_details order by sku,barcode
--按照降序排序
select * from e_deliver_details order by sku desc
--新增,没有写列名,需要把全部值插入进去
INSERT INTO test VALUES (3,"dd","sdfsd");
--新增,可以根据字段名字随便插入几个,不用全部插入
INSERT INTO test (id,dsfasdf) VALUES (3,'asdfsdf');
--根据id修改某一个字段,如果不写where语句,将会更改所有的数据,可以修改多个字段
update test set sex ='888' where id =2
--删除id的哪一行
delete from test where id = 2
--根据条件删除
delete from test where id =1 and sex = 'dd'
--清空表,
delete from test
--分页,从第0个开始,每页显示3条
select * from test limit 0,3;
--列的别名查询
select name '姓名' from test
--取两个表的交集
select * from test inner join clazz on test.id = clazz.id
--返回左表的所用,右表没有匹配的为空
select * from test left join clazz on test.id = clazz.id
--返回右表的所用,左表没有匹配的为空
select * from clazz right join test on test.id = clazz.id
create table admin( id int auto_increment primary key,
name varchar(25) not null,
sex varchar(2)
)
--增加一列
alter table test add column times datetime
delete from admin
--创建数据库
create database test;
--删除数据库d
drop database base_name;
--删除表格
drop table test_name
--函数 平均值
select avg(age) from test
--函数 总和
SELECT sum(age) from test
--函数 最小值
select min(age) from test
--函数 最大值
select max(age) from test
--函数 计数
select count(age) from test
--增加一列
alter table test add column clo varchar(20)
group by
--分组查询
select sex from test group by sex;
--列出分组后的几个name逗号分隔
select sex, GROUP_CONCAT(name) from test group by sex
--分组列出男女的平均的数量
select sex,avg(age) from test group by sex
--性别超过两个的数量的总数
select sex,count(sex) from test group by sex having count(sex)>2
-- with rollup的作用是:在最后新增一行,来记录当前列里所有记录的总和
select sex ,group_concat(age) from test group by sex with rollup
-- distinct去重
select DISTINCT sex from test
-- 根据name去重,拿到其他值得欣喜
select *,count(distinct name) from test group by name
--返回1992-03-06是周几
select dayofweek('1992-03-06')
--返回这个月的第几天
select DAYOFMONTH ('1992-03-08')
--返回date是一年中的第几日(在1到366范围内)
select DAYOFYEAR('1998-02-03');
--返回date中的月份数值
select MONTH('1998-02-03');
--返回date是星期几(按英文名返回)
select DAYNAME("1998-02-05");
--返回date是几月(按英文名返回)
select MONTHNAME("1998-02-05");
--返回date是一年的第几个季度
select QUARTER('98-04-01');
-- 返回date是一年的第几周(first默认值0,first取值1表示周一是周的开始,0从周日开始)
select WEEK('1998-02-20');
--返回date的年份(范围在1000到9999)
select YEAR('98-02-03');
--返回time的小时数(范围是0到23)
select HOUR('10:05:03');
--返回time的分钟数(范围是0到59)
select MINUTE('98-02-03 10:05:03');
--返回time的秒数(范围是0到59)
select SECOND('10:05:03');
select DATE_FORMAT('1997-10-04 22:23:00','%W %M %Y');
select DATE_FORMAT('1997-10-04 22:23:00','%H:%i:%s');
select SYSDATE()
--返回time值有多少秒
select TIME_TO_SEC('22:23:00');