日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

数据操作

發(fā)布時(shí)間:2023/12/2 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据操作 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

mysql> create table employee(-> id int primary key auto_increment,-> emp_name char(12) not null,-> sex enum('male','female') not null default 'male', #大部分是男的-> age int(3) unsigned not null default 28,-> hire_date date not null,-> post char(15),-> post_comment varchar(100),-> salary float(15,2),-> office int, #一個(gè)部門一個(gè)屋子-> depart_id int-> ); mysql> insert into employee(emp_name,sex,age,hire_date,post,salary,office,depart_id) values-> ('egon','male',18,'20170301','老男孩駐沙河辦事處外交大使',7300.33,401,1), #以下是教學(xué)部-> ('alex','male',78,'20150302','teacher',1000000.31,401,1),-> ('wupeiqi','male',81,'20130305','teacher',8300,401,1),-> ('yuanhao','male',73,'20140701','teacher',3500,401,1),-> ('liwenzhou','male',28,'20121101','teacher',2100,401,1),-> ('jingliyang','female',18,'20110211','teacher',9000,401,1),-> ('jinxin','male',18,'19000301','teacher',30000,401,1),-> ('成龍','male',48,'20101111','teacher',10000,401,1),->-> ('歪歪','female',48,'20150311','sale',3000.13,402,2),#以下是銷售部門-> ('丫丫','female',38,'20101101','sale',2000.35,402,2),-> ('丁丁','female',18,'20110312','sale',1000.37,402,2),-> ('星星','female',18,'20160513','sale',3000.29,402,2),-> ('格格','female',28,'20170127','sale',4000.33,402,2),->-> ('張野','male',28,'20160311','operation',10000.13,403,3), #以下是運(yùn)營(yíng)部門-> ('程咬金','male',18,'19970312','operation',20000,403,3),-> ('程咬銀','female',18,'20130311','operation',19000,403,3),-> ('程咬銅','male',18,'20150411','operation',18000,403,3),-> ('程咬鐵','female',18,'20140512','operation',17000,403,3)-> ; 數(shù)據(jù)準(zhǔn)備

?

insert into 表名 values (數(shù)據(jù)) insert into(字段名) 表名 values (數(shù)據(jù));

?

delete from 表名 where 條件; 刪除符合條件的數(shù)據(jù) delete from 表名; 清空表

?

update 表名 set 字段名=值 where 條件; update 表名 set 字段名1=值1,字段名2=值2 where 條件; 改變符合條件的兩個(gè)字段的值

?

select關(guān)鍵字

select * from 表名; 查詢所有內(nèi)容 select 字段1,字段2 from 表名; 查找指定列的內(nèi)容 select distinct 字段名 from 表名; 去重顯示 select 字段*12 from 表名; 做四則運(yùn)算 select 字段 as 新字段名 from 表名; 重命名 沒(méi)有更改原表的字段,只是在本次查詢中顯示新的字段名 concat concat_ws 拼接
case 開(kāi)始一個(gè)條件語(yǔ)句 when 條件1 then 字段操作 when 條件2 then 字段操作
else 字段操作 end 結(jié)束條件語(yǔ)句 # 去重顯示所有的部門 mysql> select distinct post from employee; +-----------------------------------------+ | post | +-----------------------------------------+ | 老男孩駐沙河辦事處外交大使 | | teacher | | sale | | operation | +-----------------------------------------+ 4 rows in set (0.00 sec)# 計(jì)算出每個(gè)人的年薪,并將字段名顯示為年薪 mysql> select emp_name,salary*12 as annual_year from employee; +------------+-------------+ | emp_name | annual_year | +------------+-------------+ | egon | 87603.96 | | alex | 12000003.75 | | wupeiqi | 99600.00 | | yuanhao | 42000.00 | | liwenzhou | 25200.00 | | jingliyang | 108000.00 | | jinxin | 360000.00 | | 成龍 | 120000.00 | | 歪歪 | 36001.56 | | 丫丫 | 24004.20 | | 丁丁 | 12004.44 | | 星星 | 36003.48 | | 格格 | 48003.96 | | 張野 | 120001.56 | | 程咬金 | 240000.00 | | 程咬銀 | 228000.00 | | 程咬銅 | 216000.00 | | 程咬鐵 | 204000.00 | +------------+-------------+ 18 rows in set (0.00 sec)# 按照一定格式拼接顯示 mysql> select concat('<姓名:',emp_name,'> <薪資:',salary,'>') from employee; +------------------------------------------------------+ | concat('<姓名:',emp_name,'> <薪資:',salary,'>') | +------------------------------------------------------+ | <姓名:egon> <薪資:7300.33> | | <姓名:alex> <薪資:1000000.31> | | <姓名:wupeiqi> <薪資:8300.00> | | <姓名:yuanhao> <薪資:3500.00> | | <姓名:liwenzhou> <薪資:2100.00> | | <姓名:jingliyang> <薪資:9000.00> | | <姓名:jinxin> <薪資:30000.00> | | <姓名:成龍> <薪資:10000.00> | | <姓名:歪歪> <薪資:3000.13> | | <姓名:丫丫> <薪資:2000.35> | | <姓名:丁丁> <薪資:1000.37> | | <姓名:星星> <薪資:3000.29> | | <姓名:格格> <薪資:4000.33> | | <姓名:張野> <薪資:10000.13> | | <姓名:程咬金> <薪資:20000.00> | | <姓名:程咬銀> <薪資:19000.00> | | <姓名:程咬銅> <薪資:18000.00> | | <姓名:程咬鐵> <薪資:17000.00> | +------------------------------------------------------+ 18 rows in set (0.00 sec) 示例

?

where條件

對(duì)值的判斷 = > < != <> >= <= 對(duì)范圍的判斷 between 小的值 and 大的值 上下包含 is null 判斷是不是為空 in (值1,值2,值3,值4) 模糊匹配 like%是通配符,匹配任意長(zhǎng)度的任意內(nèi)容'a%' 查找以a開(kāi)頭的 '%a' 查找以a結(jié)尾的'%a%' 查找中間包含a的_ 匹配任意一個(gè)長(zhǎng)度的內(nèi)容'_a' 匹配任意一個(gè)字符+a'a__' 以a開(kāi)頭,后面是任意兩個(gè)字符 邏輯運(yùn)算符 and or not

?

# 篩選出老師中年齡超過(guò)30歲的姓名,年齡,薪資 mysql> select emp_name,age,salary from employee where post='teacher'and age>30;; +----------+-----+------------+ | emp_name | age | salary | +----------+-----+------------+ | alex | 78 | 1000000.31 | | wupeiqi | 81 | 8300.00 | | yuanhao | 73 | 3500.00 | | 成龍 | 48 | 10000.00 | +----------+-----+------------+ 4 rows in set (0.00 sec)# 篩選出老師中薪資在9000到10000之間的姓名,年齡,薪資 mysql> select emp_name,age,salary from employee where post='teacher'and salary between 9000 and 10000; +------------+-----+----------+ | emp_name | age | salary | +------------+-----+----------+ | jingliyang | 18 | 9000.00 | | 成龍 | 48 | 10000.00 | +------------+-----+----------+ 2 rows in set (0.00 sec)# 篩選出工資是10000或者9000或者3000的員工姓名,年齡,薪資 mysql> select emp_name,age,salary from employee where salary in (10000,9000,30000); +------------+-----+----------+ | emp_name | age | salary | +------------+-----+----------+ | jingliyang | 18 | 9000.00 | | jinxin | 18 | 30000.00 | | 成龍 | 48 | 10000.00 | +------------+-----+----------+ 3 rows in set (0.00 sec)# 篩選名字以'jin'開(kāi)頭的姓名和年薪 mysql> select emp_name,salary*12 as annual_salary from employee where emp_name like 'jin%'; +------------+---------------+ | emp_name | annual_salary | +------------+---------------+ | jingliyang | 108000.00 | | jinxin | 360000.00 | +------------+---------------+ 2 rows in set (0.00 sec) 示例

?

group by? ? ?分組

select 字段名 from 表名 where 條件 group by 字段名; #分成幾個(gè)組 就顯示幾條數(shù)據(jù)? ? ? ?需要用到group_concat

# 按照部門分組,統(tǒng)計(jì)每個(gè)部門人的姓名 mysql> select post,group_concat(emp_name) from employee group by post; +-----------------------------------------+---------------------------------------------------------+ | post | group_concat(emp_name) | +-----------------------------------------+---------------------------------------------------------+ | operation | 程咬鐵,程咬銅,程咬銀,程咬金,張野 | | sale | 格格,星星,丁丁,丫丫,歪歪 | | teacher | 成龍,jinxin,jingliyang,liwenzhou,yuanhao,wupeiqi,alex | | 老男孩駐沙河辦事處外交大使 | egon | +-----------------------------------------+---------------------------------------------------------+ 4 rows in set (0.00 sec) 示例

?

聚合函數(shù)

count() 統(tǒng)計(jì)有多少條記錄是符合條件的 統(tǒng)計(jì)字段內(nèi)容不能為空,如果為空,不進(jìn)行累加 min(字段名) max(字段名) avg(字段名) sum(字段名) # 統(tǒng)計(jì)出男性和女性的個(gè)數(shù) mysql> select sex,count(sex) from employee group by sex; +--------+------------+ | sex | count(sex) | +--------+------------+ | male | 10 | | female | 8 | +--------+------------+ 2 rows in set (0.00 sec)# 計(jì)算男性和女性的平均薪資 mysql> select sex,avg(salary) from employee group by sex; +--------+---------------+ | sex | avg(salary) | +--------+---------------+ | male | 110920.077246 | | female | 7250.183746 | +--------+---------------+ 2 rows in set (0.00 sec) 示例

?

分組 + 聚合函數(shù)

聚合函數(shù)只是代表一列的結(jié)果,并不能直接將這一列相關(guān)的一行數(shù)據(jù)直接取到

#求各部門平均薪資 mysql> select post,avg(salary) from employee group by post; +-----------------------------------------+---------------+ | post | avg(salary) | +-----------------------------------------+---------------+ | operation | 16800.025977 | | sale | 2600.293994 | | teacher | 151842.901786 | | 老男孩駐沙河辦事處外交大使 | 7300.330078 | +-----------------------------------------+---------------+ 4 rows in set (0.12 sec) 示例

?

having? ? 過(guò)濾

是根據(jù)分組的結(jié)果進(jìn)行過(guò)濾的,對(duì)一個(gè)組的數(shù)據(jù)進(jìn)行進(jìn)一步篩選的時(shí)候,使用having關(guān)鍵字,對(duì)條件的使用,應(yīng)該盡量使用where進(jìn)行單條數(shù)據(jù)的篩選

# 查詢各崗位平均薪資大于10000的崗位名、平均工資 mysql> select post,avg(salary) from employee group by post having avg(salary) > 10000; +-----------+---------------+ | post | avg(salary) | +-----------+---------------+ | operation | 16800.025977 | | teacher | 151842.901786 | +-----------+---------------+ 2 rows in set (0.01 sec) 示例

?

order by 排序??

先根據(jù)條件找到所有符合條件的行,對(duì)這些行中的某一個(gè)字段對(duì)這些信息進(jìn)行排序,默認(rèn)升序? ?asc? ? ? ? ??最后寫(xiě)desc? ?降序

?

# 按照年齡升序排列 mysql> select * from employee order by age; +----+------------+--------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+ | id | emp_name | sex | age | hire_date | post | post_comment | salary | office | depart_id | +----+------------+--------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+ | 1 | egon | male | 18 | 2017-03-01 | 老男孩駐沙河辦事處外交大使 | NULL | 7300.33 | 401 | 1 | | 17 | 程咬銅 | male | 18 | 2015-04-11 | operation | NULL | 18000.00 | 403 | 3 | | 16 | 程咬銀 | female | 18 | 2013-03-11 | operation | NULL | 19000.00 | 403 | 3 | | 15 | 程咬金 | male | 18 | 1997-03-12 | operation | NULL | 20000.00 | 403 | 3 | | 12 | 星星 | female | 18 | 2016-05-13 | sale | NULL | 3000.29 | 402 | 2 | | 11 | 丁丁 | female | 18 | 2011-03-12 | sale | NULL | 1000.37 | 402 | 2 | | 18 | 程咬鐵 | female | 18 | 2014-05-12 | operation | NULL | 17000.00 | 403 | 3 | | 7 | jinxin | male | 18 | 1900-03-01 | teacher | NULL | 30000.00 | 401 | 1 | | 6 | jingliyang | female | 18 | 2011-02-11 | teacher | NULL | 9000.00 | 401 | 1 | | 13 | 格格 | female | 28 | 2017-01-27 | sale | NULL | 4000.33 | 402 | 2 | | 14 | 張野 | male | 28 | 2016-03-11 | operation | NULL | 10000.13 | 403 | 3 | | 5 | liwenzhou | male | 28 | 2012-11-01 | teacher | NULL | 2100.00 | 401 | 1 | | 10 | 丫丫 | female | 38 | 2010-11-01 | sale | NULL | 2000.35 | 402 | 2 | | 9 | 歪歪 | female | 48 | 2015-03-11 | sale | NULL | 3000.13 | 402 | 2 | | 8 | 成龍 | male | 48 | 2010-11-11 | teacher | NULL | 10000.00 | 401 | 1 | | 4 | yuanhao | male | 73 | 2014-07-01 | teacher | NULL | 3500.00 | 401 | 1 | | 2 | alex | male | 78 | 2015-03-02 | teacher | NULL | 1000000.31 | 401 | 1 | | 3 | wupeiqi | male | 81 | 2013-03-05 | teacher | NULL | 8300.00 | 401 | 1 | +----+------------+--------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+ 18 rows in set (0.00 sec)# 按照薪資降序排列 mysql> select * from employee order by salary desc; +----+------------+--------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+ | id | emp_name | sex | age | hire_date | post | post_comment | salary | office | depart_id | +----+------------+--------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+ | 2 | alex | male | 78 | 2015-03-02 | teacher | NULL | 1000000.31 | 401 | 1 | | 7 | jinxin | male | 18 | 1900-03-01 | teacher | NULL | 30000.00 | 401 | 1 | | 15 | 程咬金 | male | 18 | 1997-03-12 | operation | NULL | 20000.00 | 403 | 3 | | 16 | 程咬銀 | female | 18 | 2013-03-11 | operation | NULL | 19000.00 | 403 | 3 | | 17 | 程咬銅 | male | 18 | 2015-04-11 | operation | NULL | 18000.00 | 403 | 3 | | 18 | 程咬鐵 | female | 18 | 2014-05-12 | operation | NULL | 17000.00 | 403 | 3 | | 14 | 張野 | male | 28 | 2016-03-11 | operation | NULL | 10000.13 | 403 | 3 | | 8 | 成龍 | male | 48 | 2010-11-11 | teacher | NULL | 10000.00 | 401 | 1 | | 6 | jingliyang | female | 18 | 2011-02-11 | teacher | NULL | 9000.00 | 401 | 1 | | 3 | wupeiqi | male | 81 | 2013-03-05 | teacher | NULL | 8300.00 | 401 | 1 | | 1 | egon | male | 18 | 2017-03-01 | 老男孩駐沙河辦事處外交大使 | NULL | 7300.33 | 401 | 1 | | 13 | 格格 | female | 28 | 2017-01-27 | sale | NULL | 4000.33 | 402 | 2 | | 4 | yuanhao | male | 73 | 2014-07-01 | teacher | NULL | 3500.00 | 401 | 1 | | 12 | 星星 | female | 18 | 2016-05-13 | sale | NULL | 3000.29 | 402 | 2 | | 9 | 歪歪 | female | 48 | 2015-03-11 | sale | NULL | 3000.13 | 402 | 2 | | 5 | liwenzhou | male | 28 | 2012-11-01 | teacher | NULL | 2100.00 | 401 | 1 | | 10 | 丫丫 | female | 38 | 2010-11-01 | sale | NULL | 2000.35 | 402 | 2 | | 11 | 丁丁 | female | 18 | 2011-03-12 | sale | NULL | 1000.37 | 402 | 2 | +----+------------+--------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+ 18 rows in set (0.00 sec) 示例

?

limit? 限制查詢的記錄數(shù)

limit 限制查詢的記錄數(shù) limit n 取前n個(gè)值 limit m,n 從m+1的位置開(kāi)始,取n條數(shù)據(jù) 應(yīng)用: 分頁(yè)顯示 limit n offset m 從m+1的位置開(kāi)始,取n條數(shù)據(jù) # 分頁(yè)顯示 每頁(yè)顯示5條數(shù)據(jù) mysql> select * from employee limit 5; +----+-----------+------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+ | id | emp_name | sex | age | hire_date | post | post_comment | salary | office | depart_id | +----+-----------+------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+ | 1 | egon | male | 18 | 2017-03-01 | 老男孩駐沙河辦事處外交大使 | NULL | 7300.33 | 401 | 1 | | 2 | alex | male | 78 | 2015-03-02 | teacher | NULL | 1000000.31 | 401 | 1 | | 3 | wupeiqi | male | 81 | 2013-03-05 | teacher | NULL | 8300.00 | 401 | 1 | | 4 | yuanhao | male | 73 | 2014-07-01 | teacher | NULL | 3500.00 | 401 | 1 | | 5 | liwenzhou | male | 28 | 2012-11-01 | teacher | NULL | 2100.00 | 401 | 1 | +----+-----------+------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+ 5 rows in set (0.01 sec)mysql> select * from employee limit 5,5; +----+------------+--------+-----+------------+---------+--------------+----------+--------+-----------+ | id | emp_name | sex | age | hire_date | post | post_comment | salary | office | depart_id | +----+------------+--------+-----+------------+---------+--------------+----------+--------+-----------+ | 6 | jingliyang | female | 18 | 2011-02-11 | teacher | NULL | 9000.00 | 401 | 1 | | 7 | jinxin | male | 18 | 1900-03-01 | teacher | NULL | 30000.00 | 401 | 1 | | 8 | 成龍 | male | 48 | 2010-11-11 | teacher | NULL | 10000.00 | 401 | 1 | | 9 | 歪歪 | female | 48 | 2015-03-11 | sale | NULL | 3000.13 | 402 | 2 | | 10 | 丫丫 | female | 38 | 2010-11-01 | sale | NULL | 2000.35 | 402 | 2 | +----+------------+--------+-----+------------+---------+--------------+----------+--------+-----------+ 5 rows in set (0.00 sec) 示例

?

關(guān)鍵字執(zhí)行順序 : from > where > group by > select > having >order by > limit

?

轉(zhuǎn)載于:https://www.cnblogs.com/sandy-123/p/10498223.html

總結(jié)

以上是生活随笔為你收集整理的数据操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。