mysql DML操作、关联查询、联合查询、聚合函数使用
生活随笔
收集整理的這篇文章主要介紹了
mysql DML操作、关联查询、联合查询、聚合函数使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
DML操作
關聯查詢、聯合查詢
按條件查詢、聚合函數使用
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#把整張表先刪除,再創建和之前相同結構表 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的學生信息SELECT * FROM stu WHERE sid>2 AND age>30##演示一對多建表和外鍵使用 #創建部門表 CREATE TABLE dept(did INT PRIMARY KEY,dname VARCHAR(100)) #創建員工表 CREATE TABLE emp(eid INT PRIMARY KEY,ename VARCHAR(100),age INT,edid INT,FOREIGN KEY(edid) REFERENCES dept(did) )關聯查詢、聯合查詢
#笛卡爾積 SELECT * FROM dept,emp#內連接查詢 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 關聯條件SELECT * FROM dept LEFT JOIN emp ON dept.did=emp.edid#外連接-右外連接SELECT * FROM dept RIGHT JOIN emp ON dept.did=emp.edid#A表獨有的結果SELECT * FROM dept LEFT JOIN emp ON dept.did=emp.edid WHERE emp.edid IS NULL#B表獨有的結果 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獨有加B獨有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按條件查詢、聚合函數使用
#查詢所有ename并且去重 SELECT DISTINCT ename FROM emp#查詢年齡大于20歲 SELECT * FROM emp WHERE age>20#查詢所有姓張人員信息 %代表通配符匹配任意內容 SELECT * FROM emp WHERE ename LIKE '張%'#查詢名字中以“亮”字結尾 SELECT * FROM emp WHERE ename LIKE '%亮'#查詢姓名包含張 SELECT * FROM emp WHERE ename LIKE '%張%'#查詢姓名里面第一個字母是m,m后面包含三個字母 SELECT * FROM emp WHERE ename LIKE 'M___'#查詢emp中所有記錄,根據eid進行排序 SELECT * FROM emp ORDER BY age ASC SELECT * FROM emp ORDER BY age DESC#查詢區間范圍的值 #查詢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后面有兩個參數 #第一個參數查詢1數據開始的位置;第二個數據,每頁顯示多少條記錄。 #查詢位置開始位置公式:(當前頁-1)*每頁顯示記錄數 SELECT * FROM emp LIMIT 0,4 SELECT * FROM emp LIMIT 4,19#mysql聚合函數 #count()統計功能;sum()求和;avg()計算平均數;max()獲取最大值;min獲取最小值#count()計數 SELECT COUNT(*) AS num FROM emp #查詢年齡大于23的人數 SELECT COUNT(*) FROM emp WHERE age>23#sum()求和 SELECT SUM(age) FROM emp#avg() SELECT AVG(age) FROM emp ##把平均數小數點后面得值進行控制 SELECT CAST(AVG(age)) AS DECIMAL(10,2) FROM emp#max() min)() SELECT MAX(age) FROM emp SELECT MIN(age) FROM emp#分組查詢 #group by 分組字段 #查詢每個部門里面有多少個員工 #標準sql里面要求 group by 后面字段必須出現在select后面 SELECT COUNT(*)AS num ,edid AS deptid FROM emp GROUP BY edid總結
以上是生活随笔為你收集整理的mysql DML操作、关联查询、联合查询、聚合函数使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql数据库DDL操作
- 下一篇: 爬虫训练之--获取错误并将其保存进本地文