MySQL命令包括登錄與退出、數(shù)據(jù)庫管理查看列表、創(chuàng)建數(shù)據(jù)庫、刪除數(shù)據(jù)庫等操作。
MySQL命令是很多的,如果全面列出的話,篇幅較長,我在這里面只是羅列了一些常用的,供大家參考。
1. 登錄與退出
登錄 MySQL
mysql [OPTIONS]
mysql -uroot -p
選項(xiàng)說明示例-u指定用戶名-u root-p提示輸入密碼(密碼可跟在后面但不安全)-p1234 或 -p-h指定主機(jī)名(默認(rèn) localhost)-h 192.168.1.100-P指定端口(默認(rèn) 3306)-P 3307--ssl啟用 SSL 安全連接--ssl--socket指定套接字文件--socket=/tmp/mysql.sock--database登錄后直接使用指定數(shù)據(jù)庫--database=testdb
退出 MySQL
SQL> exit;
或:
SQL> quit;
2. 數(shù)據(jù)庫管理
查看數(shù)據(jù)庫列表
show databases;
創(chuàng)建數(shù)據(jù)庫
CREATE DATABASE 數(shù)據(jù)庫名 [OPTIONS];
CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
選項(xiàng)說明示例DEFAULT CHARACTER SET設(shè)置數(shù)據(jù)庫的默認(rèn)字符集DEFAULT CHARACTER SET utf8mb4DEFAULT COLLATE設(shè)置數(shù)據(jù)庫的排序規(guī)則(與字符集匹配)DEFAULT COLLATE utf8mb4_general_ci
刪除數(shù)據(jù)庫
drop databases 數(shù)據(jù)庫名;
使用指定數(shù)據(jù)庫
USE 數(shù)據(jù)庫名;
use mysql;
查看當(dāng)前使用的數(shù)據(jù)庫
SELECT DATABASE();
查看數(shù)據(jù)庫大小
SELECT table_schema AS 數(shù)據(jù)庫名,
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 大小_MB
FROM information_schema.tables
GROUP BY table_schema;
3. 表管理
查看當(dāng)前數(shù)據(jù)庫的所有表
SHOW TABLES;
查看表結(jié)構(gòu)
DESC 表名;
或:
SHOW COLUMNS FROM 表名;
創(chuàng)建表
CREATE TABLE 表名 (
列名 數(shù)據(jù)類型 [約束條件],
...
) [OPTIONS];
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
選項(xiàng)說明示例ENGINE設(shè)置存儲引擎(如 InnoDB、MyISAM)ENGINE=InnoDBDEFAULT CHARSET設(shè)置表的默認(rèn)字符集DEFAULT CHARSET=utf8mb4AUTO_INCREMENT指定自增主鍵id INT AUTO_INCREMENT PRIMARY KEY
查看表的創(chuàng)建語句
SHOW CREATE TABLE 表名;
修改表結(jié)構(gòu)
添加列:
ALTER TABLE 表名 ADD 列名 數(shù)據(jù)類型 [位置];
位置:FIRST(在最前),AFTER 列名(在指定列后)。
修改列:
ALTER TABLE 表名 MODIFY 列名 數(shù)據(jù)類型;
刪除列:
ALTER TABLE 表名 DROP 列名;
重命名列:
ALTER TABLE 表名 CHANGE 原列名 新列名 數(shù)據(jù)類型;
刪除表
DROP TABLE 表名;
清空表(保留結(jié)構(gòu))
TRUNCATE TABLE 表名;
4. 數(shù)據(jù)操作
插入數(shù)據(jù)
INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);
INSERT INTO users (name, email) VALUES ('Alice', 'liyb@example.com');
批量插入
INSERT INTO 表名 (列名1, 列名2) VALUES
(值1, 值2),
(值3, 值4),
(值5, 值6);
查詢數(shù)據(jù)
SELECT 列名1, 列名2, ... FROM 表名 [WHERE 條件] [ORDER BY 列名 ASC|DESC] [LIMIT 偏移量, 行數(shù)];
SELECT * FROM users WHERE email LIKE '%example.com' ORDER BY created_at DESC LIMIT 10;
常用子句:
子句說明示例WHERE指定條件WHERE age > 30ORDER BY排序結(jié)果集ORDER BY name ASCLIMIT限制返回行數(shù),支持偏移量LIMIT 5 OFFSET 10GROUP BY按列分組GROUP BY departmentHAVING篩選分組結(jié)果HAVING COUNT(*) > 1
更新數(shù)據(jù)
UPDATE 表名 SET 列名1=值1, 列名2=值2 WHERE 條件;
示例:
UPDATE users SET email='new_email@example.com' WHERE name='Alice';
刪除數(shù)據(jù)
DELETE FROM 表名 WHERE 條件;
DELETE FROM users WHERE id=10;
5. 用戶管理
創(chuàng)建用戶
CREATE USER '用戶名'@'主機(jī)' IDENTIFIED BY '密碼';
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'mypassword';
參數(shù)說明示例'用戶名'用戶名'testuser''主機(jī)'用戶允許訪問的主機(jī)(% 表示任意主機(jī))'localhost' 或 '%''密碼'用戶密碼'password123'
修改用戶密碼
ALTER USER '用戶名'@'主機(jī)' IDENTIFIED BY '新密碼';
ALTER USER 'testuser'@'localhost' IDENTIFIED BY 'newpassword123';
刪除用戶
DROP USER '用戶名'@'主機(jī)';
授予權(quán)限
GRANT 權(quán)限列表 ON 數(shù)據(jù)庫.表 TO '用戶名'@'主機(jī)';
權(quán)限說明ALL PRIVILEGES授予所有權(quán)限SELECT允許讀取表中的數(shù)據(jù)INSERT允許向表中插入數(shù)據(jù)UPDATE允許修改表中的數(shù)據(jù)DELETE允許刪除表中的數(shù)據(jù)CREATE允許創(chuàng)建數(shù)據(jù)庫和表DROP允許刪除數(shù)據(jù)庫和表
GRANT SELECT, INSERT ON mydb.* TO 'testuser'@'localhost';
撤銷權(quán)限
REVOKE 權(quán)限列表 ON 數(shù)據(jù)庫.表 FROM '用戶名'@'主機(jī)';
REVOKE INSERT ON mydb.* FROM 'testuser'@'localhost';
刷新權(quán)限
FLUSH PRIVILEGES;
6. 性能優(yōu)化
查看查詢執(zhí)行計(jì)劃
EXPLAIN SELECT 查詢語句;
EXPLAIN SELECT * FROM users WHERE email='test@example.com';
優(yōu)化表
OPTIMIZE TABLE 表名;
查看慢查詢
SHOW VARIABLES LIKE 'slow_query_log';
啟用慢查詢:
SET GLOBAL slow_query_log=1;
檢查表
CHECK TABLE 表名;
修復(fù)表
REPAIR TABLE 表名;
來源:https://mp.weixin.qq.com/s/oSrjVG0giU5b1H2uVhCDLw
來源:本文內(nèi)容搜集或轉(zhuǎn)自各大網(wǎng)絡(luò)平臺,并已注明來源、出處,如果轉(zhuǎn)載侵犯您的版權(quán)或非授權(quán)發(fā)布,請聯(lián)系小編,我們會及時(shí)審核處理。
聲明:江蘇教育黃頁對文中觀點(diǎn)保持中立,對所包含內(nèi)容的準(zhǔn)確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點(diǎn)負(fù)責(zé),僅作分享之用,文章版權(quán)及插圖屬于原作者。
Copyright?2013-2024 JSedu114 All Rights Reserved. 江蘇教育信息綜合發(fā)布查詢平臺保留所有權(quán)利
蘇公網(wǎng)安備32010402000125
蘇ICP備14051488號-3技術(shù)支持:南京博盛藍(lán)睿網(wǎng)絡(luò)科技有限公司
南京思必達(dá)教育科技有限公司版權(quán)所有 百度統(tǒng)計(jì)