<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
-- 建立庫 create database db1; -- 建立庫是否存在,不存在則建立 create database if not exists db1; -- 檢視所有資料庫 show databases; -- 檢視某個資料庫的定義資訊 show create database db1; -- 修改資料庫字元資訊 alter database db1 character set utf8; -- 刪除資料庫 drop database db1;
--建立表 create table student( id int, name varchar(32), age int , score double(4,1), birthday date, insert_time timestamp ); -- 檢視表結構 desc 表名; -- 檢視建立表的SQL語句 show create table 表名; -- 修改表名 alter table 表名 rename to 新的表名; -- 新增一列 alter table 表名 add 列名 資料型別; -- 刪除列 alter table 表名 drop 列名; -- 刪除表 drop table 表名; drop table if exists 表名 ;
-- 寫全所有列名 insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n); -- 不寫列名(所有列全部新增) insert into 表名 values(值1,值2,...值n); -- 插入部分資料 insert into 表名(列名1,列名2) values(值1,值2);
-- 刪除表中資料 delete from 表名 where 列名 = 值; -- 刪除表中所有資料 delete from 表名; -- 刪除表中所有資料(高效 先刪除表,然後再建立一張一樣的表。) truncate table 表名;
-- 不帶條件的修改(會修改所有行) update 表名 set 列名 = 值; -- 帶條件的修改 update 表名 set 列名 = 值 where 列名=值;
關於查詢語句有很多,這裡基礎的不再介紹。主要介紹排序查詢、聚合函數、模糊查詢、分組查詢、分頁查詢、內連線、外連線、子查詢
BETWEEN...AND (在什麼之間)和 IN( 集合)
-- 查詢年齡大於等於20 小於等於30 SELECT * FROM student WHERE age >= 20 && age <=30; SELECT * FROM student WHERE age >= 20 AND age <=30; SELECT * FROM student WHERE age BETWEEN 20 AND 30; -- 查詢年齡22歲,18歲,25歲的資訊 SELECT * FROM student WHERE age = 22 OR age = 18 OR age = 25 SELECT * FROM student WHERE age IN (22,18,25);
is null(不為null值) 與 like(模糊查詢)、distinct(去除重複值)
-- 查詢英語成績不為null SELECT * FROM student WHERE english IS NOT NULL; _:單個任意字元 %:多個任意字元 -- 查詢姓馬的有哪些? like SELECT * FROM student WHERE NAME LIKE '馬%'; -- 查詢姓名第二個字是化的人 SELECT * FROM student WHERE NAME LIKE "_化%"; -- 查詢姓名是3個字的人 SELECT * FROM student WHERE NAME LIKE '___'; -- 查詢姓名中包含德的人 SELECT * FROM student WHERE NAME LIKE '%德%'; -- 關鍵詞 DISTINCT 用於返回唯一不同的值。 -- 語法:SELECT DISTINCT 列名稱 FROM 表名稱 SELECT DISTINCT NAME FROM student ;
語法:order by 子句
order by 排序欄位1 排序方式1 , 排序欄位2 排序方式2...
注意:
如果有多個排序條件,則當前邊的條件值一樣時,才會判斷第二條件。
-- 例子 SELECT * FROM person ORDER BY math; --預設升序 SELECT * FROM person ORDER BY math desc; --降序
1.count:計算個數
2.max:計算最大值
3.min:計算最小值
4.sum:計算和
5.avg:計算平均數
語法:group by 分組欄位;
注意:分組之後查詢的欄位:分組欄位、聚合函數
-- 按照性別分組。分別查詢男、女同學的平均分 SELECT sex , AVG(math) FROM student GROUP BY sex; -- 按照性別分組。分別查詢男、女同學的平均分,人數 SELECT sex , AVG(math),COUNT(id) FROM student GROUP BY sex; -- 按照性別分組。分別查詢男、女同學的平均分,人數 要求:分數低於70分的人,不參與分組 SELECT sex , AVG(math),COUNT(id) FROM student WHERE math > 70 GROUP BY sex; -- 按照性別分組。分別查詢男、女同學的平均分,人數 要求:分數低於70分的人,不參與分組,分組之後。人數要大於2個人 SELECT sex , AVG(math),COUNT(id) FROM student WHERE math > 70 GROUP BY sex HAVING COUNT(id) > 2; SELECT sex , AVG(math),COUNT(id) 人數 FROM student WHERE math > 70 GROUP BY sex HAVING 人數 > 2;
1. 語法:limit 開始的索引,每頁查詢的條數;
2. 公式:開始的索引 = (當前的頁碼 - 1) * 每頁顯示的條數
3. limit 是一個MySQL"方言"
-- 每頁顯示3條記錄 SELECT * FROM student LIMIT 0,3; -- 第1頁 SELECT * FROM student LIMIT 3,3; -- 第2頁 SELECT * FROM student LIMIT 6,3; -- 第3頁
1. 從哪些表中查詢資料
2.條件是什麼
3. 查詢哪些欄位
-- 查詢員工表的名稱,性別。部門表的名稱 SELECT emp.name,emp.gender,dept.name FROM emp,dept WHERE emp.`dept_id` = dept.`id`; SELECT t1.name, -- 員工表的姓名 t1.gender,-- 員工表的性別 t2.name -- 部門表的名稱 FROM emp t1, dept t2 WHERE t1.`dept_id` = t2.`id`;
-- 語法: select 欄位列表 from 表名1 [inner] join 表名2 on 條件 -- 例如: SELECT * FROM emp INNER JOIN dept ON emp.`dept_id` = dept.`id`; SELECT * FROM emp JOIN dept ON emp.`dept_id` = dept.`id`;
-- 語法:select 欄位列表 from 表1 left [outer] join 表2 on 條件; -- 例子: -- 查詢所有員工資訊,如果員工有部門,則查詢部門名稱,沒有部門,則不顯示部門名稱 SELECT t1.*,t2.`name` FROM emp t1 LEFT JOIN dept t2 ON t1.`dept_id` = t2.`id`;
-- 語法: select 欄位列表 from 表1 right [outer] join 表2 on 條件; -- 例子: SELECT * FROM dept t2 RIGHT JOIN emp t1 ON t1.`dept_id` = t2.`id`;
-- 查詢工資最高的員工資訊 -- 1 查詢最高的工資是多少 9000 SELECT MAX(salary) FROM emp; -- 2 查詢員工資訊,並且工資等於9000的 SELECT * FROM emp WHERE emp.`salary` = 9000; -- 一條sql就完成這個操作。這就是子查詢 SELECT * FROM emp WHERE emp.`salary` = (SELECT MAX(salary) FROM emp);
子查詢可以作為條件,使用運運算元去判斷。 運運算元: > >= < <= =
-- 查詢員工工資小於平均工資的人 SELECT * FROM emp WHERE emp.salary < (SELECT AVG(salary) FROM emp);
子查詢可以作為條件,使用運運算元in來判斷
-- 查詢'財務部'和'市場部'所有的員工資訊 SELECT id FROM dept WHERE NAME = '財務部' OR NAME = '市場部'; SELECT * FROM emp WHERE dept_id = 3 OR dept_id = 2; -- 子查詢 SELECT * FROM emp WHERE dept_id IN (SELECT id FROM dept WHERE NAME = '財務部' OR NAME = '市場部');
子查詢可以作為一張虛擬表參與查詢
-- 查詢員工入職日期是2011-11-11日之後的員工資訊和部門資訊 -- 子查詢 SELECT * FROM dept t1 ,(SELECT * FROM emp WHERE emp.`join_date` > '2011-11-11') t2 WHERE t1.id = t2.dept_id; -- 普通內連線 SELECT * FROM emp t1,dept t2 WHERE t1.`dept_id` = t2.`id` AND t1.`join_date` > '2011-11-11'
語法:CREATE USER '使用者名稱'@'主機名' IDENTIFIED BY '密碼';
語法:DROP USER '使用者名稱'@'主機名';
語法:DROP USER '使用者名稱'@'主機名';
-- 授予許可權 grant 許可權列表 on 資料庫名.表名 to '使用者名稱'@'主機名'; -- 給張三使用者授予所有許可權,在任意資料庫任意表上 GRANT ALL ON *.* TO 'zhangsan'@'localhost';
-- 復原許可權: revoke 許可權列表 on 資料庫名.表名 from '使用者名稱'@'主機名'; REVOKE UPDATE ON db3.`account` FROM 'lisi'@'%';
到此這篇關於史上超強最常用SQL語句大全的文章就介紹到這了,更多相關最常用SQL語句內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45