最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

100條常用SQL語(yǔ)句總結(jié)大全

 更新時(shí)間:2026年07月18日 14:07:22   作者:極客編程坊  
SQL語(yǔ)句通常分為數(shù)據(jù)查詢語(yǔ)言(DQL)、數(shù)據(jù)操作語(yǔ)言(DML)、數(shù)據(jù)定義語(yǔ)言(DDL)和數(shù)據(jù)控制語(yǔ)言(DCL),下面這篇文章主要介紹了100條常用SQL語(yǔ)句總結(jié)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、基本查詢語(yǔ)句

查詢所有數(shù)據(jù)

SELECT * FROM 表名;

查詢特定列

SELECT 列名1, 列名2 FROM 表名;

條件查詢

SELECT * FROM 表名 WHERE 條件;

模糊查詢

SELECT * FROM 表名 WHERE 列名 LIKE '模式%';

排序查詢

SELECT * FROM 表名 ORDER BY 列名 ASC|DESC;

限制返回行數(shù)

SELECT * FROM 表名 LIMIT 10;

去重查詢

SELECT DISTINCT 列名 FROM 表名;

二、聚合與分組

聚合函數(shù) - 計(jì)數(shù)

SELECT COUNT(*) FROM 表名;

分組查詢

SELECT 列名, COUNT(*) FROM 表名 GROUP BY 列名;

條件分組

SELECT 列名, COUNT(*) FROM 表名 GROUP BY 列名 HAVING COUNT(*) > 1;

計(jì)算總和

SELECT SUM(列名) FROM 表名;

計(jì)算平均值

SELECT AVG(列名) FROM 表名;

計(jì)算最大值

SELECT MAX(列名) FROM 表名;

計(jì)算最小值

SELECT MIN(列名) FROM 表名;

三、數(shù)據(jù)操作

插入數(shù)據(jù)

INSERT INTO 表名 (列名1, 列名2) VALUES (值1, 值2);

批量插入數(shù)據(jù)

INSERT INTO 表名 (列名1, 列名2) VALUES (值1, 值2), (值3, 值4);

更新數(shù)據(jù)

UPDATE 表名 SET 列名 = 新值 WHERE 條件;

刪除數(shù)據(jù)

DELETE FROM 表名 WHERE 條件;

四、表操作

創(chuàng)建表

CREATE TABLE 表名 (列名1 數(shù)據(jù)類型, 列名2 數(shù)據(jù)類型);

刪除表

DROP TABLE 表名;

修改表結(jié)構(gòu)

ALTER TABLE 表名 ADD 列名 數(shù)據(jù)類型;

刪除表中的列

ALTER TABLE 表名 DROP COLUMN 列名;

重命名表

ALTER TABLE 舊表名 RENAME TO 新表名;

五、索引與視圖

創(chuàng)建索引

CREATE INDEX 索引名 ON 表名 (列名);

刪除索引

DROP INDEX 索引名;

創(chuàng)建視圖

CREATE VIEW 視圖名 AS SELECT * FROM 表名;

刪除視圖

DROP VIEW 視圖名;

六、連接查詢

內(nèi)連接

SELECT * FROM 表1 INNER JOIN 表2 ON 表1.列名 = 表2.列名;

左連接

SELECT * FROM 表1 LEFT JOIN 表2 ON 表1.列名 = 表2.列名;

右連接

SELECT * FROM 表1 RIGHT JOIN 表2 ON 表1.列名 = 表2.列名;

全連接

SELECT * FROM 表1 FULL OUTER JOIN 表2 ON 表1.列名 = 表2.列名;

七、子查詢與集合

子查詢

SELECT * FROM 表名 WHERE 列名 IN (SELECT 列名 FROM 其他表名);

存在查詢

SELECT * FROM 表名 WHERE EXISTS (SELECT 1 FROM 其他表名 WHERE 條件);

聯(lián)合查詢

SELECT 列名 FROM 表1 UNION SELECT 列名 FROM 表2;

八、日期與時(shí)間

獲取當(dāng)前時(shí)間

SELECT NOW();

獲取當(dāng)前日期

SELECT CURDATE();

日期加法

SELECT DATE_ADD(日期, INTERVAL 1 DAY);

日期減法

SELECT DATE_SUB(日期, INTERVAL 1 DAY);

格式化日期

SELECT DATE_FORMAT(日期, '%Y-%m-%d');

九、字符串處理

字符串連接

SELECT CONCAT(列名1, 列名2) FROM 表名;

字符串長(zhǎng)度

SELECT LENGTH(列名) FROM 表名;

字符串截取

SELECT SUBSTRING(列名, 1, 5) FROM 表名;

查找字符串位置

SELECT LOCATE('子串', 列名) FROM 表名;

大寫轉(zhuǎn)換

SELECT UPPER(列名) FROM 表名;

小寫轉(zhuǎn)換

SELECT LOWER(列名) FROM 表名;

去除空格

SELECT TRIM(列名) FROM 表名;

十、其他高級(jí)功能

使用CASE語(yǔ)句

SELECT 列名, CASE WHEN 條件 THEN '值1' ELSE '值2' END FROM 表名;

使用IF語(yǔ)句

SELECT 列名, IF(條件, '值1', '值2') FROM 表名;

使用COALESCE函數(shù)

SELECT COALESCE(列名, '默認(rèn)值') FROM 表名;

使用NULLIF函數(shù)

SELECT NULLIF(列名1, 列名2) FROM 表名;

獲取唯一值的數(shù)量

SELECT COUNT(DISTINCT 列名) FROM 表名;

使用GROUP_CONCAT

SELECT GROUP_CONCAT(列名) FROM 表名 GROUP BY 其他列名;

十一、事務(wù)管理

事務(wù)開始

BEGIN;

提交事務(wù)

COMMIT;

回滾事務(wù)

ROLLBACK;

十二、游標(biāo)與存儲(chǔ)過程

創(chuàng)建游標(biāo)

DECLARE 游標(biāo)名 CURSOR FOR SELECT 列名 FROM 表名;

打開游標(biāo)

OPEN 游標(biāo)名;

獲取游標(biāo)數(shù)據(jù)

FETCH 游標(biāo)名 INTO 變量名;

關(guān)閉游標(biāo)

CLOSE 游標(biāo)名;

創(chuàng)建存儲(chǔ)過程

CREATE PROCEDURE 存儲(chǔ)過程名 AS BEGIN ... END;

調(diào)用存儲(chǔ)過程

CALL 存儲(chǔ)過程名();

十三、函數(shù)與觸發(fā)器

創(chuàng)建函數(shù)

CREATE FUNCTION 函數(shù)名() RETURNS 數(shù)據(jù)類型 AS BEGIN ... END;

調(diào)用函數(shù)

SELECT 函數(shù)名();

創(chuàng)建觸發(fā)器

CREATE TRIGGER 觸發(fā)器名 BEFORE INSERT ON 表名 FOR EACH ROW SET 新列 = '值';

刪除觸發(fā)器

DROP TRIGGER 觸發(fā)器名;

十四、系統(tǒng)信息查詢

查詢當(dāng)前用戶

SELECT CURRENT_USER();

查詢當(dāng)前數(shù)據(jù)庫(kù)

SELECT DATABASE();

查詢表的行數(shù)和大小

SELECT TABLE_NAME, TABLE_ROWS, DATA_LENGTH FROM information_schema.TABLES WHERE TABLE_SCHEMA = '數(shù)據(jù)庫(kù)名';

獲取表的創(chuàng)建時(shí)間

SELECT CREATE_TIME FROM information_schema.TABLES WHERE TABLE_NAME = '表名';

獲取表的修改時(shí)間

SELECT UPDATE_TIME FROM information_schema.TABLES WHERE TABLE_NAME = '表名';

十五、其他實(shí)用查詢

使用LIMIT與ORDER BY結(jié)合

SELECT * FROM 表名 ORDER BY 列名 LIMIT 10;

查詢表的外鍵約束

SELECT CONSTRAINT_NAME, TABLE_NAME FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '數(shù)據(jù)庫(kù)名';

查詢表的主鍵約束

SELECT CONSTRAINT_NAME, TABLE_NAME FROM information_schema.TABLE_CONSTRAINTS WHERE TABLE_SCHEMA = '數(shù)據(jù)庫(kù)名' AND CONSTRAINT_TYPE = 'PRIMARY KEY';

使用ROLLUP進(jìn)行分組匯總

SELECT 列名, SUM(列名2) FROM 表名 GROUP BY 列名 WITH ROLLUP;

獲取前N條記錄

SELECT * FROM 表名 LIMIT N;

獲取最后N條記錄

SELECT * FROM 表名 ORDER BY 列名 DESC LIMIT N;

使用NOT EXISTS進(jìn)行條件判斷

SELECT * FROM 表名 WHERE NOT EXISTS (SELECT 1 FROM 其他表名 WHERE 條件);

使用IN進(jìn)行條件判斷

SELECT * FROM 表名 WHERE 列名 IN (值1, 值2);

使用NOT IN進(jìn)行條件判斷

SELECT * FROM 表名 WHERE 列名 NOT IN (值1, 值2);

使用UNION ALL

SELECT 列名 FROM 表1 UNION ALL SELECT 列名 FROM 表2;

十六、性能優(yōu)化

使用EXPLAIN分析查詢

EXPLAIN SELECT * FROM 表名 WHERE 條件;

優(yōu)化索引

CREATE INDEX 索引名 ON 表名 (列名);

使用臨時(shí)表

CREATE TEMPORARY TABLE 臨時(shí)表名 AS SELECT * FROM 表名;

查詢表的索引

SHOW INDEX FROM 表名;

查詢數(shù)據(jù)庫(kù)版本

SELECT VERSION();

十七、常見錯(cuò)誤處理

捕獲錯(cuò)誤

DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN ... END;

輸出錯(cuò)誤信息

SELECT ERROR_MESSAGE();

使用事務(wù)處理錯(cuò)誤

BEGIN; -- 開始事務(wù)
-- 執(zhí)行SQL語(yǔ)句
-- 如果有錯(cuò)誤,ROLLBACK

十八、數(shù)據(jù)備份與恢復(fù)

備份數(shù)據(jù)庫(kù)

mysqldump -u 用戶名 -p 數(shù)據(jù)庫(kù)名 > 備份文件.sql

恢復(fù)數(shù)據(jù)庫(kù)

mysql -u 用戶名 -p 數(shù)據(jù)庫(kù)名 < 備份文件.sql

十九、數(shù)據(jù)導(dǎo)入與導(dǎo)出

導(dǎo)入數(shù)據(jù)

LOAD DATA INFILE '文件路徑' INTO TABLE 表名;

導(dǎo)出數(shù)據(jù)

SELECT * INTO OUTFILE '文件路徑' FROM 表名;

二十、常用工具與命令

顯示當(dāng)前數(shù)據(jù)庫(kù)

SELECT DATABASE();

顯示所有數(shù)據(jù)庫(kù)

SHOW DATABASES;

顯示所有表

SHOW TABLES;

顯示表結(jié)構(gòu)

DESCRIBE 表名;

顯示當(dāng)前連接信息

SHOW PROCESSLIST;

顯示數(shù)據(jù)庫(kù)使用情況

SELECT table_schema AS '數(shù)據(jù)庫(kù)', SUM(data_length + index_length) / 1024 / 1024 AS '大小(MB)' FROM information_schema.TABLES GROUP BY table_schema;

顯示表的行數(shù)

SELECT COUNT(*) FROM 表名;

顯示用戶權(quán)限

SHOW GRANTS FOR '用戶名'@'主機(jī)名';

總結(jié) 

到此這篇關(guān)于100條常用SQL語(yǔ)句總結(jié)大全的文章就介紹到這了,更多相關(guān)常用SQL語(yǔ)句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

建阳市| 江西省| 曲松县| 乌什县| 响水县| 康保县| 广汉市| 友谊县| 亳州市| 微山县| 南康市| 安岳县| 广饶县| 安化县| 阳泉市| 安阳县| 安顺市| 胶州市| 呼伦贝尔市| 石棉县| 安平县| 浦东新区| 新绛县| 鄂伦春自治旗| 青川县| 合川市| 芦溪县| 宁陕县| 东乌珠穆沁旗| 阿图什市| 东乡县| 闵行区| 连南| 固安县| 孟津县| 贡嘎县| 罗平县| 元阳县| 民乐县| 大厂| 板桥市|