mysql DML操作、关联查询、联合查询、聚合函数使用
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                mysql DML操作、关联查询、联合查询、聚合函数使用
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                目錄
DML操作
關(guān)聯(lián)查詢、聯(lián)合查詢
按條件查詢、聚合函數(shù)使用
DML操作
CREATE DATABASE db2USE db2; CREATE TABLE stu(sid INT PRIMARY KEY AUTO_INCREMENT,sname VARCHAR(100) NOT NULL,age INT,address VARCHAR(100) )INSERT INTO stu VALUES(NULL,'趙明',23,'光明頂1'),(NULL,'周芷若',28,'光明頂2')#DML-修改操作 update#修改張無忌的地址是嵩山 UPDATE stu SET address='嵩山' WHERE sname='張無忌'#修改周芷若的年齡50和地址峨眉UPDATE stu SET age='50',address= '峨眉' WHERE sname='周芷若'#修改所有人的年齡都增加10歲 UPDATE stu SET age=age+10#DML-刪除操作 delete#刪除id=2的記錄 DELETE FROM stu WHERE sid=2#刪除表里的所有記錄 DELETE FROM stu#把整張表先刪除,再創(chuàng)建和之前相同結(jié)構(gòu)表 TRUNCATE stu##DML-簡單查詢語句#查詢stu表所有記錄 SELECT sid,sname,age,address FROM stu SELECT * FROM stu#查詢stu表所有的sid和sname值 SELECT sid,sname FROM stu#別名操作 as可以省略不寫 SELECT sid AS sid_id ,sname AS sname_name FROM stu s#著重號``#查詢名字是謝遜信息 SELECT * FROM stu WHERE sname='趙敏'#查詢sid大于2,并且年齡大于30的學(xué)生信息SELECT * FROM stu WHERE sid>2 AND age>30##演示一對多建表和外鍵使用 #創(chuàng)建部門表 CREATE TABLE dept(did INT PRIMARY KEY,dname VARCHAR(100)) #創(chuàng)建員工表 CREATE TABLE emp(eid INT PRIMARY KEY,ename VARCHAR(100),age INT,edid INT,FOREIGN KEY(edid) REFERENCES dept(did) )關(guān)聯(lián)查詢、聯(lián)合查詢
#笛卡爾積 SELECT * FROM dept,emp#內(nèi)連接查詢 SELECT * FROM dept INNER JOIN emp ON dept.did=emp.edidSELECT * FROM dept,emp WHERE dept.did=emp.edid#外連接-左外連接# select 字段 from 表1 left join 表2 on 關(guān)聯(lián)條件SELECT * FROM dept LEFT JOIN emp ON dept.did=emp.edid#外連接-右外連接SELECT * FROM dept RIGHT JOIN emp ON dept.did=emp.edid#A表獨(dú)有的結(jié)果SELECT * FROM dept LEFT JOIN emp ON dept.did=emp.edid WHERE emp.edid IS NULL#B表獨(dú)有的結(jié)果 SELECT * FROM dept RIGHT JOIN emp ON dept.did=emp.edid WHERE dept.did IS NULL#AB全都有SELECT * FROM dept LEFT JOIN emp ON dept.did=emp.edidUNIONSELECT * FROM dept RIGHT JOIN emp ON dept.did=emp.edid#A獨(dú)有加B獨(dú)有SELECT * FROM dept LEFT JOIN emp ON dept.did=emp.edid WHERE emp.edid IS NULLUNIONSELECT * FROM dept RIGHT JOIN emp ON dept.did=emp.edid WHERE dept.did IS NULL按條件查詢、聚合函數(shù)使用
#查詢所有ename并且去重 SELECT DISTINCT ename FROM emp#查詢年齡大于20歲 SELECT * FROM emp WHERE age>20#查詢所有姓張人員信息 %代表通配符匹配任意內(nèi)容 SELECT * FROM emp WHERE ename LIKE '張%'#查詢名字中以“亮”字結(jié)尾 SELECT * FROM emp WHERE ename LIKE '%亮'#查詢姓名包含張 SELECT * FROM emp WHERE ename LIKE '%張%'#查詢姓名里面第一個(gè)字母是m,m后面包含三個(gè)字母 SELECT * FROM emp WHERE ename LIKE 'M___'#查詢emp中所有記錄,根據(jù)eid進(jìn)行排序 SELECT * FROM emp ORDER BY age ASC SELECT * FROM emp ORDER BY age DESC#查詢區(qū)間范圍的值 #查詢emp年齡23-30范圍 SELECT * FROM emp WHERE age>=23 AND age<=30 SELECT * FROM emp WHERE age BETWEEN 23 AND 100#查詢年齡是 21 22 23 SELECT * FROM emp WHERE age IN(21,22,23)#limit分頁用法 #limit后面有兩個(gè)參數(shù) #第一個(gè)參數(shù)查詢1數(shù)據(jù)開始的位置;第二個(gè)數(shù)據(jù),每頁顯示多少條記錄。 #查詢位置開始位置公式:(當(dāng)前頁-1)*每頁顯示記錄數(shù) SELECT * FROM emp LIMIT 0,4 SELECT * FROM emp LIMIT 4,19#mysql聚合函數(shù) #count()統(tǒng)計(jì)功能;sum()求和;avg()計(jì)算平均數(shù);max()獲取最大值;min獲取最小值#count()計(jì)數(shù) SELECT COUNT(*) AS num FROM emp #查詢年齡大于23的人數(shù) SELECT COUNT(*) FROM emp WHERE age>23#sum()求和 SELECT SUM(age) FROM emp#avg() SELECT AVG(age) FROM emp ##把平均數(shù)小數(shù)點(diǎn)后面得值進(jìn)行控制 SELECT CAST(AVG(age)) AS DECIMAL(10,2) FROM emp#max() min)() SELECT MAX(age) FROM emp SELECT MIN(age) FROM emp#分組查詢 #group by 分組字段 #查詢每個(gè)部門里面有多少個(gè)員工 #標(biāo)準(zhǔn)sql里面要求 group by 后面字段必須出現(xiàn)在select后面 SELECT COUNT(*)AS num ,edid AS deptid FROM emp GROUP BY edid總結(jié)
以上是生活随笔為你收集整理的mysql DML操作、关联查询、联合查询、聚合函数使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: mysql数据库DDL操作
- 下一篇: 爬虫训练之--获取错误并将其保存进本地文
