溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL基礎常用命令有哪些

發布時間:2021-12-24 09:34:38 來源:億速云 閱讀:186 作者:小新 欄目:MySQL數據庫
# MySQL基礎常用命令大全

本文全面介紹MySQL數據庫的基礎操作命令,涵蓋數據庫管理、表操作、數據增刪改查、用戶權限等核心內容,適合初學者系統學習。

## 一、數據庫基本操作

### 1. 連接MySQL服務器

```sql
mysql -h 主機名 -u 用戶名 -p
  • -h:指定MySQL服務器地址(本地可省略)
  • -u:指定用戶名
  • -p:提示輸入密碼

示例:

mysql -u root -p

2. 查看數據庫版本

SELECT VERSION();
-- 或
STATUS;

3. 顯示所有數據庫

SHOW DATABASES;

4. 創建數據庫

CREATE DATABASE 數據庫名 
[CHARACTER SET 字符集] 
[COLLATE 排序規則];

-- 示例
CREATE DATABASE shop 
CHARACTER SET utf8mb4 
COLLATE utf8mb4_unicode_ci;

5. 選擇數據庫

USE 數據庫名;

6. 刪除數據庫

DROP DATABASE [IF EXISTS] 數據庫名;

7. 查看當前數據庫

SELECT DATABASE();

二、數據表操作

1. 創建數據表

CREATE TABLE [IF NOT EXISTS] 表名 (
    列名1 數據類型 [約束條件] [COMMENT '注釋'],
    列名2 數據類型 [約束條件],
    ...
    [PRIMARY KEY (列名)]
) [ENGINE=存儲引擎] [CHARSET=字符集];

-- 示例
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL UNIQUE,
    password CHAR(32) NOT NULL,
    email VARCHAR(100),
    create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB CHARSET=utf8mb4;

2. 查看表結構

DESC 表名;
-- 或
DESCRIBE 表名;
-- 或
SHOW COLUMNS FROM 表名;

3. 查看建表語句

SHOW CREATE TABLE 表名;

4. 修改表結構

添加列

ALTER TABLE 表名 ADD 列名 數據類型 [約束條件];

修改列

ALTER TABLE 表名 MODIFY 列名 新數據類型 [約束條件];

重命名列

ALTER TABLE 表名 CHANGE 原列名 新列名 數據類型;

刪除列

ALTER TABLE 表名 DROP COLUMN 列名;

5. 重命名表

RENAME TABLE 原表名 TO 新表名;
-- 或
ALTER TABLE 原表名 RENAME TO 新表名;

6. 刪除表

DROP TABLE [IF EXISTS] 表名;

7. 清空表數據

TRUNCATE TABLE 表名;

三、數據操作命令

1. 插入數據

-- 完整插入
INSERT INTO 表名 VALUES (值1, 值2, ...);

-- 指定列插入
INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2);

-- 批量插入
INSERT INTO 表名 VALUES 
(值1, 值2, ...),
(值1, 值2, ...),
...;

2. 查詢數據

基礎查詢

SELECT 列1, 列2 FROM 表名 [WHERE 條件];

條件查詢

SELECT * FROM users WHERE age > 18 AND status = 1;

排序

SELECT * FROM products ORDER BY price DESC, sales ASC;

分頁

SELECT * FROM articles LIMIT 10 OFFSET 20;
-- 等價于
SELECT * FROM articles LIMIT 20, 10;

分組統計

SELECT department, COUNT(*) as emp_count 
FROM employees 
GROUP BY department 
HAVING emp_count > 5;

3. 更新數據

UPDATE 表名 SET 列1=值1, 列2=值2 [WHERE 條件];

-- 示例
UPDATE users SET password = MD5('123456') WHERE id = 100;

4. 刪除數據

DELETE FROM 表名 [WHERE 條件];

-- 清空表
DELETE FROM 表名;

四、索引操作

1. 創建索引

-- 普通索引
CREATE INDEX 索引名 ON 表名(列名);

-- 唯一索引
CREATE UNIQUE INDEX 索引名 ON 表名(列名);

-- 復合索引
CREATE INDEX 索引名 ON 表名(列1, 列2);

2. 查看索引

SHOW INDEX FROM 表名;

3. 刪除索引

DROP INDEX 索引名 ON 表名;

五、用戶與權限管理

1. 創建用戶

CREATE USER '用戶名'@'主機' IDENTIFIED BY '密碼';

-- 示例
CREATE USER 'dev'@'%' IDENTIFIED BY 'Dev123!';

2. 修改密碼

ALTER USER '用戶名'@'主機' IDENTIFIED BY '新密碼';

3. 授權

GRANT 權限 ON 數據庫.表 TO '用戶'@'主機';

-- 示例
GRANT SELECT, INSERT ON shop.* TO 'dev'@'%';

4. 查看權限

SHOW GRANTS FOR '用戶'@'主機';

5. 撤銷權限

REVOKE 權限 ON 數據庫.表 FROM '用戶'@'主機';

6. 刪除用戶

DROP USER '用戶名'@'主機';

六、事務控制

1. 開啟事務

START TRANSACTION;
-- 或
BEGIN;

2. 提交事務

COMMIT;

3. 回滾事務

ROLLBACK;

4. 設置保存點

SAVEPOINT 保存點名;

5. 回滾到保存點

ROLLBACK TO SAVEPOINT 保存點名;

七、視圖操作

1. 創建視圖

CREATE VIEW 視圖名 AS SELECT語句;

2. 修改視圖

ALTER VIEW 視圖名 AS SELECT語句;

3. 刪除視圖

DROP VIEW [IF EXISTS] 視圖名;

八、存儲過程和函數

1. 創建存儲過程

DELIMITER //
CREATE PROCEDURE 過程名(參數列表)
BEGIN
    -- SQL語句
END //
DELIMITER ;

-- 示例
DELIMITER //
CREATE PROCEDURE get_user(IN uid INT)
BEGIN
    SELECT * FROM users WHERE id = uid;
END //
DELIMITER ;

2. 調用存儲過程

CALL 過程名(參數);

3. 創建函數

DELIMITER //
CREATE FUNCTION 函數名(參數) RETURNS 返回類型
BEGIN
    -- 函數體
    RETURN 值;
END //
DELIMITER ;

4. 查看存儲過程和函數

SHOW PROCEDURE STATUS;
SHOW FUNCTION STATUS;

九、觸發器

1. 創建觸發器

DELIMITER //
CREATE TRIGGER 觸發器名 觸發時機 觸發事件
ON 表名 FOR EACH ROW
BEGIN
    -- 觸發器邏輯
END //
DELIMITER ;

-- 示例
DELIMITER //
CREATE TRIGGER update_time 
BEFORE UPDATE ON users 
FOR EACH ROW
BEGIN
    SET NEW.update_time = NOW();
END //
DELIMITER ;

2. 查看觸發器

SHOW TRIGGERS;

3. 刪除觸發器

DROP TRIGGER 觸發器名;

十、備份與恢復

1. 備份數據庫

mysqldump -u 用戶名 -p 數據庫名 > 備份文件.sql

2. 恢復數據庫

mysql -u 用戶名 -p 數據庫名 < 備份文件.sql

十一、系統變量與狀態

1. 查看系統變量

SHOW VARIABLES LIKE '%變量名%';

2. 修改系統變量

SET GLOBAL 變量名=值;
-- 或
SET SESSION 變量名=值;

3. 查看服務器狀態

SHOW STATUS;

十二、實用技巧

1. 查看執行計劃

EXPLN SELECT語句;

2. 導入導出數據

-- 導出
SELECT * INTO OUTFILE '/tmp/data.csv'
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n'
FROM 表名;

-- 導入
LOAD DATA INFILE '/tmp/data.csv'
INTO TABLE 表名
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';

3. 批量執行SQL文件

SOURCE /path/to/file.sql;

總結

本文詳細介紹了MySQL數據庫的基礎操作命令,包括: - 數據庫和表的創建與管理 - 數據的增刪改查操作 - 索引、視圖、存儲過程等高級功能 - 用戶權限管理與事務控制 - 數據庫備份恢復技巧

掌握這些基礎命令是進行MySQL數據庫開發和管理的前提。建議讀者結合實際操作練習,逐步深入理解MySQL的更多高級特性。

注意:實際使用時請根據MySQL版本調整語法,部分命令在不同版本中可能有差異。 “`

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女