<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

    50條MySQL常用腳本

    共 6086字,需瀏覽 13分鐘

     ·

    2024-04-18 22:08

    關(guān)注公眾號,SQL干貨及時(shí)獲取

    后臺回復(fù):1,進(jìn)SQL技術(shù)交流群
    SQL面試專欄
    《SQL145題第2版》


    花時(shí)間整理了50條常用的MySQL腳本,查漏補(bǔ)缺,希望對大家有所幫助。


    -- 1、插入數(shù)據(jù)
    INSERT INTO example_table (name, age) VALUES ('Alice', 30);

    -- 2、查詢表中所有數(shù)據(jù)
    SELECT * FROM example_table;

    -- 3、使用 LIMIT 限制結(jié)果數(shù)量
    SELECT * FROM example_table LIMIT 10;

    -- 4、按條件篩選數(shù)據(jù)
    SELECT * FROM example_table WHERE age > 25;

    -- 5、更新數(shù)據(jù)
    UPDATE example_table SET age = 35 WHERE name = 'Alice';

    -- 6、刪除數(shù)據(jù)
    DELETE FROM example_table WHERE id = 5;

    -- 7、排序結(jié)果
    SELECT * FROM example_table ORDER BY age DESC;

    -- 8、計(jì)算行數(shù)
    SELECT COUNT(*) FROM example_table;

    -- 9、求和
    SELECT SUM(age) FROM example_table;

    -- 10、連接表
    SELECT a.id, a.name, b.age
    FROM table1 a
    JOIN table2 b ON a.id = b.id;

    -- 11、使用別名
    SELECT name AS full_name FROM example_table;

    -- 12、使用通配符進(jìn)行模糊查詢
    SELECT * FROM example_table WHERE name LIKE 'A%';

    -- 13、使用 GROUP BY 分組數(shù)據(jù)
    SELECT age, COUNT(*) FROM example_table GROUP BY age;

    -- 14、使用 HAVING 進(jìn)一步篩選分組數(shù)據(jù)
    SELECT age, COUNT(*) FROM example_table
    GROUP BY age
    HAVING COUNT(*) > 1;

    -- 15、使用子查詢
    SELECT * FROM example_table
    WHERE age IN 
    (SELECT age FROM other_table);

    -- 16、使用 CASE 表達(dá)式進(jìn)行條件操作
    SELECT name,
    CASE WHEN age > 30 
         THEN 'Old' ELSE 'Young' 
    END AS age_group
    FROM example_table;

    -- 17、使用 JOIN 進(jìn)行不同類型的連接
    SELECT a.id, a.name, b.age
    FROM table1 a
    LEFT JOIN table2 b
    ON a.id = b.id;

    -- 18、創(chuàng)建索引以加快查詢速度
    CREATE INDEX idx_name ON example_table(name);

    -- 19、優(yōu)化查詢性能
    EXPLAIN SELECT * FROM example_table WHERE age > 25;

    -- 20、備份數(shù)據(jù)庫
    mysqldump -u username -p database_name > backup.sql;

    -- 21、使用 DISTINCT 去除重復(fù)行
    SELECT DISTINCT name FROM example_table;

    -- 22、使用 BETWEEN 進(jìn)行范圍查詢
    SELECT * FROM example_table
    WHERE age BETWEEN 20 AND 30;

    -- 23、使用 UPDATE 和 JOIN 更新關(guān)聯(lián)表
    UPDATE example_table a
    JOIN other_table b ON a.id = b.id
    SET a.age = b.age;

    -- 24、使用 JOIN 和 COUNT 計(jì)算關(guān)聯(lián)表中的記錄數(shù)
    SELECT a.id, COUNT(b.id) as count 
    FROM table1 a
    LEFT JOIN table2 b ON a.id = b.id
    GROUP BY a.id;

    -- 25、使用 LIMIT 和 OFFSET 實(shí)現(xiàn)分頁功能
    SELECT * FROM example_table
    LIMIT 10 OFFSET 20;

    -- 26、使用 IFNULL 處理空值
    SELECT name, IFNULL(age, 'Unknown') FROM example_table;

    -- 27、將查詢結(jié)果導(dǎo)出為CSV文件
    SELECT order_id, product_name, quantity
    INTO OUTFILE '/var/lib/mysql-files/orders.csv'
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    FROM example_table;

    -- 28、批量插入數(shù)據(jù)
    INSERT INTO example_table (name, age)
    VALUES ('Alice', 30), ('Bob', 25), ('Charlie', 35);

    -- 29、使用 TRUNCATE 快速清空表數(shù)據(jù)
    TRUNCATE TABLE example_table;

    -- 30、使用 ROLLBACK 撤銷未提交的更改
    ROLLBACK;

    -- 31、使用 UNION 合并多個查詢的結(jié)果集并去重:
    SELECT name FROM table1
    UNION
    SELECT name FROM table2;

    -- 32、使用 CAST 或 CONVERT 轉(zhuǎn)換數(shù)據(jù)類型:
    SELECT CAST(age AS CHAR) FROM example_table;

    -- 33、計(jì)算每個分組內(nèi)的行的排名
    SELECT name, age,
           RANK() OVER (PARTITION BY age ORDER BY name) as age_rank
    FROM example_table;

    -- 34、使用 SHOW CREATE TABLE 查看表結(jié)構(gòu)
    SHOW CREATE TABLE example_table;

    -- 35、刪除表中的重復(fù)行
    DELETE n1
    FROM example_table n1, example_table n2
    WHERE n1.id > n2.id AND n1.name = n2.name;

    -- 36、將查詢結(jié)果作為表進(jìn)行使用
    SELECT * FROM 
    (SELECT name FROM example_table) AS subquery_table;

    -- 37、使用 LOAD DATA INFILE 導(dǎo)入數(shù)據(jù)到表格中:
    LOAD DATA INFILE 'data.csv' 
    INTO TABLE example_table
    FIELDS TERMINATED BY ',' 
    LINES TERMINATED BY '\n';

    -- 38、在查詢中使用正則表達(dá)式
    SELECT * FROM example_table
    WHERE name REGEXP '^A.*';

    -- 39、使用 EXISTS 進(jìn)行子查詢檢查
    SELECT * FROM table1
    WHERE EXISTS 
    (SELECT 1 FROM table2
    WHERE table1.id = table2.id);

    -- 40、設(shè)置自動增量值的起始點(diǎn)
    ALTER TABLE example_table AUTO_INCREMENT = 100;

    -- 41、使用 CONCAT 合并列數(shù)據(jù)
    SELECT CONCAT(name, ' is ', age, ' years old') AS description
    FROM example_table;

    -- 42、查找表中的最大值和最小值
    SELECT MAX(age) AS max_age,
    MIN(age) AS min_age
    FROM example_table;

    -- 43、在查詢結(jié)果中使用變量
    SET @row_number = 0;
    SELECT (@row_number:=@row_number+1) AS row_num,
    name 
    FROM example_table;

    -- 44、顯示當(dāng)前數(shù)據(jù)庫中的所有表
    SHOW TABLES;

    -- 45、使用SHOW VARIABLES查看 MySQL 的配置變量:
    SHOW VARIABLES LIKE 'version%';

    -- 46、創(chuàng)建臨時(shí)表并插入數(shù)據(jù)
    CREATE TEMPORARY TABLE temp_table AS 
    SELECT id, name FROM example_table
    WHERE age > 30;

    -- 47、修改表結(jié)構(gòu),添加新列
    ALTER TABLE example_table
    ADD COLUMN email VARCHAR(50);

    -- 48、使用 GROUP_CONCAT 將多行值合并為單個字符串
    SELECT id, GROUP_CONCAT(name) AS all_names
    FROM example_table GROUP BY id;

    -- 49、使用 TRIGGER 實(shí)現(xiàn)對表的操作觸發(fā)器
    CREATE TRIGGER example_trigger
    BEFORE INSERT ON example_table
    FOR EACH ROW 
    SET NEW.age = NEW.age + 1
    ;

    -- 50、監(jiān)控?cái)?shù)據(jù)庫性能
    SHOW PROCESSLIST;
       
    最后給大家分享我寫的SQL兩件套:《SQL基礎(chǔ)知識第二版》《SQL高級知識第二版》的PDF電子版。里面有各個語法的解釋、大量的實(shí)例講解和批注等等,非常通俗易懂,方便大家跟著一起來實(shí)操。

    有需要的可以下載學(xué)習(xí),只需要在下面的公眾號「數(shù)據(jù)前線(非本號),后臺回復(fù)關(guān)鍵字:SQL,就行

    數(shù)據(jù)前線

          
    后臺回復(fù)關(guān)鍵字:1024,獲取一份精心整理的技術(shù)干貨
    后臺回復(fù)關(guān)鍵字:進(jìn)群,帶你進(jìn)入高手如云的交流群。
           

    推薦閱讀

             


    文章有幫助的話,點(diǎn)個在看吧。

    謝謝支持

    瀏覽 49
    點(diǎn)贊
    評論
    收藏
    分享

    手機(jī)掃一掃分享

    分享
    舉報(bào)
    評論
    圖片
    表情
    推薦
    點(diǎn)贊
    評論
    收藏
    分享

    手機(jī)掃一掃分享

    分享
    舉報(bào)

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    天堂中文在线资源的 | 美女扒开超粉嫩的尿囗让人桶91 | 免费观看黄a一级视频 | 欧美秘 无码一区二区三区三浦 | 亚洲成人精品导航 |