MySQL 常用語句整理

本文對常用的sql語句做了整理胧瓜,持續(xù)更新……
MySQL 版本:5.7.13
操作系統(tǒng):Ubuntu 16.0.4


1.創(chuàng)建數(shù)據(jù)庫

db_name: 數(shù)據(jù)庫名稱
tb_name: 數(shù)據(jù)表名
tb_field: 數(shù)據(jù)字段

1.1 數(shù)據(jù)庫登錄

# 數(shù)據(jù)庫服務(wù)啟動(dòng) 關(guān)閉 重啟
service mysql start/stop/restart
# 數(shù)據(jù)庫登錄(通過密碼登錄)
mysql -u [username] -p

# 查看數(shù)據(jù)庫存儲引擎
show engines;
# 顯示所有數(shù)據(jù)庫
show databases;
# 選擇需要使用的數(shù)據(jù)庫
use db_name;
# 顯示數(shù)據(jù)所有的表
show tables;
# 顯示列屬性
show columns from db_table;

1.2 編碼問題

設(shè)置數(shù)據(jù)庫UTF-8編碼,修改數(shù)據(jù)庫配置文件蒲肋,或者修改數(shù)據(jù)默認(rèn)編碼方式

1. 
修改全局配置文件my.cnf (/etc/mysql/my.cnf)
# 文件末尾添加下述默認(rèn)項(xiàng)配置
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
# 數(shù)據(jù)庫查詢忽略大小寫
lower_case_table_names = 1
2. 修改數(shù)據(jù)庫默認(rèn)編碼
# 設(shè)置數(shù)據(jù)庫db_name默認(rèn)為utf8:
ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

# 設(shè)置表tb_name默認(rèn)編碼為utf8:
ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

# 創(chuàng)建表時(shí)聲明編碼
CREATE TABLE tb_name
(
  id CHAR(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci
) CHARACTER SET latin1 COLLATE latin1_bin;

***提示: ***查看數(shù)據(jù)庫當(dāng)前編碼方式兜粘,使用命令:
show variables like 'char%';
你會(huì)看到類似的輸出:

數(shù)據(jù)庫編碼.jpg

1.3 數(shù)據(jù)庫創(chuàng)建

#例子
CREATE TABLE tb_name(
  id int NOT NULL AUTO_INCREMENT, # 非空、自增  聲明
  name VARCHAR(30) UNIQUE, #添加字段的唯一約束
  update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, #設(shè)置時(shí)間戳默認(rèn)值為當(dāng)前時(shí)間
  last_updated TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP,#設(shè)置自動(dòng)添加更新時(shí)間
  size ENUM( 'small', 'medium', 'large') DEFAULT 'small', #枚舉類型聲明
  PRIMARY KEY (id), #主鍵聲明
  FOREIGN KEY (id) REFERENCES db_name(tb_field) #聲明外鍵
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci
COMMENT = 'XXXX表';

***擴(kuò)展: ***Microsoft Access剃法、MySQL 以及 SQL Server 所使用的數(shù)據(jù)類型和范圍
http://www.w3school.com.cn/sql/sql_datatypes.asp

2. 數(shù)據(jù)查詢

# 基本查詢
SELECT * FROM tb_name;
SELECT * FROM tb_name WHERE id = XXX;

# 多條查詢
SELECT * FROM tb_name WHERE id in (xx, xx);

# MD5 加密路鹰,加密比較
INSERT INTO user(name,password) VALUES("admin",md5("12345"));
SELECT * FROM user WHERE name="admin" AND password=md5("12345");

# 查詢最 新 的一條數(shù)據(jù)
1) SELECT * FROM tb_name ORDER BY date DESC LIMIT 1;
2) SELECT * FROM tb_name WHERE date IN (SELECT max(tb_field) FROM tb_name);
3) SELECT * FROM tb_name WHERE date = (SELECT max(tb_field) FROM tb_name);

# 查詢記錄總數(shù)
SELECT count(*) FROM tb_name;

# 查詢前十條數(shù)據(jù)
SELECT * FROM tb_name LIMIT 10;

# 查詢平均值
SELECT AVG(tb_field) FROM tb_name;
SELECT name, AVG(tb_field) FROM tb_name GROUP BY name;

3. 數(shù)據(jù)添加

# 插入數(shù)據(jù)
INSERT INTO tb_name VALUES ('Gates', 'Bill', 'ACC', 'Beijing');
# 插入指定列的數(shù)據(jù)
INSERT INTO tb_name (tb_field1, tb_field2) VALUES ('Gates', 'Bill');

4. 數(shù)據(jù)修改

包括數(shù)據(jù)表屬性的修改晋柱,一個(gè)記錄的數(shù)據(jù)的修改

4.1 數(shù)據(jù)修改

UPDATE tb_name SET tb_field1 = 'One', tb_field2 = 'Two' WHERE tb_field3 = '111';

4.2 屬性修改

# 添加列
ALTER TABLE tb_name ADD COLUMN state ENUM('1','0') NOT NULL DEFAULT '1';
# 添加唯一約束
1) ALTER TABLE tb_name ADD UNIQUE (name);
2) CREATE UNIQUE INDEX [索引名稱] ON tb_name(tb_field);
# 更改列屬性
ALTER TABLE tb_name MODIFY COLUMN tb_field VARCHAR(50);
# 更改列名
ALTER TABLE tb_name RNAME COLUMN tb_fieldA to tb_fieldB;
ALTER TABLE tb_name CHANGE tb_fieldA tb_fieldB varchar(255);

5. 數(shù)據(jù)刪除

# 刪除一個(gè)記錄
DELETE FROM tb_name WHERE name = 'Bill';
# 刪除所有行
DELETE FROM tb_name;
# 刪除表
DROP TABLE tb_name;
# 刪除數(shù)據(jù)庫
DROP DATABASE db_name;
# 刪除索引
ALTER TABLE tb_name DROP INDEX [索引名稱];
# 刪除列
ALTER TABLE tb_name  DROP COLUMN column_name;

6. 其他

# 導(dǎo)出數(shù)據(jù)庫
mysqldump -u [用戶名] -p [數(shù)據(jù)庫名] > [導(dǎo)出的文件名] 
mysqldump -u username -p db_name > db_name.sql;

# 導(dǎo)出數(shù)據(jù)表
mysqldump -u username -p db_name tb_name> db_name.sql;

# 導(dǎo)入數(shù)據(jù)庫
1) mysql -u username -p db_name < [xxx.sql];
2) use db_name;
source xxx.sql;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末雁竞,一起剝皮案震驚了整個(gè)濱河市钦椭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌侥锦,老刑警劉巖德挣,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異署照,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)建芙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門懂扼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人阀湿,你說我怎么就攤上這事∮匙” “怎么了灾挨?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長地技。 經(jīng)常有香客問我,道長莫矗,這世上最難降的妖魔是什么砂缩? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮梯轻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘彬伦。我一直安慰自己,他們只是感情好单绑,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著歉提,像睡著了一般区转。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上废离,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機(jī)與錄音悼尾,去河邊找鬼肖方。 笑死闺魏,一個(gè)胖子當(dāng)著我的面吹牛俯画,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播烹骨,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼材泄,長吁一口氣:“原來是場噩夢啊……” “哼吨岭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起辣辫,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎姐浮,沒想到半個(gè)月后葬馋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體卖鲤,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蛋逾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了区匣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,163評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡莲绰,死狀恐怖姑丑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情彻坛,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布钙蒙,位于F島的核電站间驮,受9級特大地震影響躬厌,放射性物質(zhì)發(fā)生泄漏竞帽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一疙渣、第九天 我趴在偏房一處隱蔽的房頂上張望堆巧。 院中可真熱鬧,春花似錦谍肤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恳蹲。三九已至,卻和暖如春阱缓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背荆针。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留喉悴,地道東北人玖媚。 一個(gè)月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像今魔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子错森,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 1. 連接數(shù)據(jù)庫 在命令行中輸入:mysql -u root -p 2. 選擇數(shù)據(jù)庫涩维、數(shù)據(jù)表 Use 數(shù)據(jù)庫名/數(shù)...
    王二姐的記事本兒閱讀 1,003評論 0 7
  • 語 句 功 能 數(shù)據(jù)操作 SELECT——從數(shù)據(jù)庫表中檢索數(shù)據(jù)行和列INSERT——向數(shù)據(jù)庫表添加新數(shù)據(jù)行DELE...
    戰(zhàn)敭閱讀 5,077評論 0 53
  • 什么是數(shù)據(jù)庫瓦阐? 數(shù)據(jù)庫是存儲數(shù)據(jù)的集合的單獨(dú)的應(yīng)用程序。每個(gè)數(shù)據(jù)庫具有一個(gè)或多個(gè)不同的API睡蟋,用于創(chuàng)建,訪問戳杀,管理...
    chen_000閱讀 4,030評論 0 19
  • 淺凝/文 秋的氣息,伴著促織的輕吟,潛入我的窗欞听诸,淺淺涼。 秋天的月光晌梨,不一樣的须妻。如果夏天的月光是明凈的,清亮的荒吏,...
    淺凝霓裳閱讀 251評論 0 0
  • Spring Festival is the most important festival in China ....
    陳美琴閱讀 468評論 0 0