首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 基礎語法完全指南:DDL、DML、DCL 與核心操作實戰

     編輯:MySQL 綜合教學

MySQL 基礎語法完全指南:DDL、DML、DCL 與核心操作實戰

一、SQL 語言三大分類

類別全稱核心語句用途
DDLData Definition LanguageCREATE、DROP、ALTER定義/管理數據庫對象(庫、表、視圖、索引)
DMLData Manipulation LanguageSELECT、INSERT、UPDATE、DELETE操作表中數據(增刪改查)
DCLData Control LanguageGRANT、REVOKE、COMMIT、ROLLBACK權限控制與事務管理

二、常用數據類型

  • 字符型:CHAR(n) 定長、VARCHAR(n) 變長(短文本)
  • 文本型:TEXT、BLOB(長文本/二進制)
  • 數值型:INT、BIGINT、DECIMAL、FLOAT、DOUBLE
  • 邏輯型:BOOLEAN(實為 TINYINT(1),0/1)
  • 日期型:DATE、DATETIME、TIMESTAMP

註釋風格:# 单行、-- 单行、/* 多行 */

三、數據庫級操作

創建與刪除

CREATE DATABASE db_users;
SHOW DATABASES;
DROP DATABASE db_users;

四、數據表操作

1. 創建表

USE db_users;
CREATE TABLE regusers (
    userid INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
    username CHAR(32),
    birth DATE
);
DESC regusers;

2. 修改表結構

-- 新增欄位
ALTER TABLE regusers ADD last_login DATE;

-- 修改欄位類型
ALTER TABLE regusers MODIFY username VARCHAR(64);

-- 刪除欄位
ALTER TABLE regusers DROP COLUMN last_login;

-- 重命名表
ALTER TABLE regusers RENAME TO users;

3. 刪除表

DROP TABLE regusers;
-- 可一次刪多表:DROP TABLE t1, t2, t3;

五、記錄操作(DML 核心)

1. 插入數據

-- 指定列插入(推薦)
INSERT INTO regusers (username, birth, last_login)
VALUES ('allen', '1981-1-1', '2014-2-2');

-- 批量插入
INSERT INTO regusers (username, birth, last_login)
VALUES ('ben', '1982-4-2', '2014-4-30'),
       ('curry', '1985-8-12', '2014-1-17');

2. 更新數據

UPDATE regusers
SET username = 'ben'
WHERE username = 'brooks';

3. 刪除數據

DELETE FROM regusers WHERE userid = 10002;
-- 危險操作:DELETE FROM regusers;(清空全表,慎用)

六、查詢操作(SELECT 進階)

-- 全表查詢
SELECT * FROM tb_users;

-- 條件過濾
SELECT * FROM tb_users WHERE birth < '1983-1-1';

-- 多條件 + 排序
SELECT * FROM tb_users
WHERE birth > '1982-1-1'
ORDER BY last_login;

-- 指定列投影
SELECT username, last_login FROM tb_users;

-- 聚合統計
SELECT COUNT(*) AS total_users FROM tb_users;

七、最佳實踐建議

  1. 習慣指定列名:INSERT INTO t(a,b) VALUES(...)、SELECT a,b FROM t,避免 SELECT * 造成不必要的 I/O 與網絡開銷。
  2. WHERE 條件加索引:高頻查詢列務必建立索引。
  3. 使用事務包裹多步寫入:START TRANSACTION; ... COMMIT; 保證原子性。
  4. 定期清理無用數據:配合 LIMIT 分批刪除大量歷史數據,避免長事務鎖表。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved