欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql常見的SQL語句格式及實用技巧

 更新時間:2025年06月24日 11:14:08   作者:楊了個楊8982  
本文系統(tǒng)梳理MySQL常見SQL語句格式,涵蓋數據庫與表的創(chuàng)建、刪除、修改、查詢操作,以及記錄增刪改查和多表關聯等高級查詢,同時提供索引優(yōu)化、事務處理、臨時表等實用技巧,感興趣的朋友一起看看吧

一、常用語法匯總

數據庫(database)表(table)記錄
CREATE DATABASE [IF NOT EXISTS] database_name;CREATE TABLE [IF NOT EXISTS] table_name (
  column1 datatype [constraint],
  column2 datatype [constraint],
  ...
  [PRIMARY KEY (column_list)]
);

-- 插入記錄(單條)
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);

-- 插入多條記錄
INSERT INTO table_name (column1, column2, ...)
VALUES (value1_1, value1_2, ...),
       (value2_1, value2_2, ...);

DROP DATABASE [IF EXISTS] database_name;DROP TABLE [IF EXISTS] table_name;DELETE FROM table_name WHERE condition;
-- 切換數據庫
USE database_name;
-- 修改表結構(示例:添加列)
ALTER TABLE table_name ADD column_name datatype;
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
SHOW DATABASES;

-- 查看所有表
SHOW TABLES;

-- 查看表結構
DESCRIBE table_name;

-- 查詢記錄(全量)
SELECT * FROM table_name;

-- 查詢特定字段
SELECT column1, column2 FROM table_name;

-- 條件查詢
SELECT * FROM table_name WHERE condition;

-- 排序查詢
SELECT * FROM table_name ORDER BY column [ASC|DESC];

-- 分頁查詢(LIMIT 從 0 開始)
SELECT * FROM table_name LIMIT offset, count;

常用約束與修飾符
-- 主鍵約束(唯一標識)
PRIMARY KEY (column)
-- 唯一約束(值不能重復)
UNIQUE (column)
-- 非空約束
NOT NULL
-- 默認值
DEFAULT value
-- 自增(整數類型)
AUTO_INCREMENT

二、示例

1.數據庫操作

-- 創(chuàng)建數據庫(存在則跳過)
CREATE DATABASE IF NOT EXISTS db_name;
-- 刪除數據庫(謹慎使用)
DROP DATABASE IF EXISTS db_name;
-- 查看所有數據庫
SHOW DATABASES;
-- 切換數據庫
USE db_name;

2.表操作

(1)創(chuàng)建表

CREATE TABLE IF NOT EXISTS users (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  age INT DEFAULT 18,
  email VARCHAR(100) UNIQUE,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

(2)修改表結構

-- 添加列
ALTER TABLE users ADD COLUMN phone VARCHAR(20);
-- 修改列類型
ALTER TABLE users MODIFY COLUMN age TINYINT;
-- 重命名列
ALTER TABLE users CHANGE COLUMN phone mobile VARCHAR(20);
-- 刪除列
ALTER TABLE users DROP COLUMN mobile;

(3)刪除表

DROP TABLE IF EXISTS users;

(4)查看表信息

-- 查看表結構
DESCRIBE users;
-- 查看建表語句
SHOW CREATE TABLE users;

3.記錄操作 

(1)插入數據

-- 單條插入
INSERT INTO users (name, age, email)
VALUES ('Alice', 25, 'alice@example.com');
-- 批量插入
INSERT INTO users (name, age)
VALUES ('Bob', 30), ('Charlie', 22);
-- 插入查詢結果
INSERT INTO users_backup (name, age)
SELECT name, age FROM users WHERE age > 25;

(2)查詢數據

-- 基礎查詢
SELECT * FROM users;
-- 條件查詢
SELECT name, age FROM users WHERE age > 25 AND name LIKE 'A%';
-- 去重查詢
SELECT DISTINCT age FROM users;
-- 排序與分頁
SELECT * FROM users ORDER BY age DESC LIMIT 10 OFFSET 20;
-- 聚合函數
SELECT COUNT(*), AVG(age), MAX(age) FROM users;
-- 分組查詢
SELECT age, COUNT(*) FROM users GROUP BY age HAVING COUNT(*) > 1;

(3)更新數據

-- 單條件更新
UPDATE users SET age = age + 1 WHERE name = 'Alice';
-- 多字段更新
UPDATE users SET age = 30, email = 'bob@new.com' WHERE id = 2;
-- 批量更新(基于子查詢)
UPDATE users u
JOIN user_scores s ON u.id = s.user_id
SET u.age = s.age + 5;

(4)刪除數據

-- 按條件刪除
DELETE FROM users WHERE age < 18;
-- 清空表(保留結構)
TRUNCATE TABLE users;

4.高級查詢

(1)多表關聯

-- 內連接
SELECT u.name, o.order_id
FROM users u
JOIN orders o ON u.id = o.user_id;
-- 左連接
SELECT u.name, o.order_id
FROM users u
LEFT JOIN orders o ON u.id = o.user_id;

(2)子查詢

SELECT * FROM users
WHERE age > (SELECT AVG(age) FROM users);

(3)聯合查詢

SELECT name FROM users
UNION
SELECT product_name FROM products;

三、實用技巧

1.避免全表掃描:為查詢字段添加索引

CREATE INDEX idx_age ON users (age)

2.事務處理:保證數據一致性

START TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT; -- 或 ROLLBACK

3.臨時表:提升查詢效率與隔離性,會話內有效,會話關閉自動刪除。

-- 創(chuàng)建臨時表并填充數據
CREATE TEMPORARY TABLE temp_orders AS
SELECT order_id, user_id, amount
FROM orders
WHERE create_time > '2023-01-01';
-- 使用臨時表進行后續(xù)查詢
SELECT user_id, SUM(amount)
FROM temp_orders
GROUP BY user_id;

到此這篇關于Mysql常見的SQL語句格式的文章就介紹到這了,更多相關mysql sql語句格式內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL優(yōu)化insert性能的方法示例

    MySQL優(yōu)化insert性能的方法示例

    對于一些數據量較大的系統(tǒng),數據庫面臨的問題除了查詢效率低下,還有就是數據入庫時間長。下面這篇文章主要給大家介紹了關于MySQL優(yōu)化insert性能的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-06-06
  • mysql根據json字段內容作為查詢條件(包括json數組)檢索數據

    mysql根據json字段內容作為查詢條件(包括json數組)檢索數據

    本文主要介紹了mysql根據json字段內容作為查詢條件(包括json數組)檢索數據,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Mysql update多表聯合更新的方法小結

    Mysql update多表聯合更新的方法小結

    這篇文章主要介紹了Mysql update多表聯合更新的方法小結,通過實例代碼給大家介紹了mysql多表關聯update的語句,感興趣的朋友跟隨小編一起看看吧
    2020-02-02
  • Windows安裝MySQL8.0.28.0.msi方式(圖文詳解)

    Windows安裝MySQL8.0.28.0.msi方式(圖文詳解)

    這篇文章主要介紹了Windows安裝MySQL8.0.28.0.msi,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • MySQL存儲引擎 InnoDB與MyISAM的區(qū)別

    MySQL存儲引擎 InnoDB與MyISAM的區(qū)別

    InnoDB和MyISAM是許多人在使用MySQL時最常用的兩個表類型,這兩個表類型各有優(yōu)劣,視具體應用而定。
    2014-03-03
  • win10下mysql5.7.21解壓版安裝教程

    win10下mysql5.7.21解壓版安裝教程

    這篇文章主要為大家詳細介紹了win10下mysql5.7.21解壓版安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • mysql tmp_table_size和max_heap_table_size大小配置

    mysql tmp_table_size和max_heap_table_size大小配置

    這篇文章主要介紹了mysql tmp_table_size和max_heap_table_size大小配置,需要的朋友可以參考下
    2016-05-05
  • mysql配置文件的使用教程

    mysql配置文件的使用教程

    這篇文章主要介紹了mysql配置文件的使用教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-10-10
  • MySQL8 臨時關閉緩存的方法實現

    MySQL8 臨時關閉緩存的方法實現

    在某些場景下,如基準測試、數據一致性檢查或高頻數據更新,可能需要臨時關閉緩存以獲得更準確的性能數據或解決性能問題,本文就詳細的介紹一下MySQL8 臨時關閉緩存的方法實現,感興趣的可以了解一下
    2024-10-10
  • mysql日志系統(tǒng)redo log和bin log介紹

    mysql日志系統(tǒng)redo log和bin log介紹

    這篇文章主要介紹了mysql日志系統(tǒng)redo log和bin log介紹,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08

最新評論