MySQL 語法學(xué)習(xí)

原文地址

shell 連接 Mysql 的幾種方式

user="apper" # 用戶名
password="superme@2019" # 密碼
host="192.168.1.110" # ip地址
port="3306" # 端口號
database="upay" # 數(shù)據(jù)庫名稱
sql_string="SELECT * FROM ThirdUQUserRelation;" # 查詢語句

# 方式1
mysql -h${host} -P${port} -u${user} -p${password} $database -e "${sql_string}"

# 方式2
mysql --host=${host} --port=${port} --user=${user} --password=${password} --database=$database -e "${sql_string}"

# 方式3
file_path="/path/to/sql"
mysql -h${host} -P${port} -u${user} -p${password} $database < ${file_path}

數(shù)據(jù)庫操作

顯示數(shù)據(jù)庫
show databases;
使用某個數(shù)據(jù)庫
use <數(shù)據(jù)庫名稱>;
創(chuàng)建一個數(shù)據(jù)庫
create database <數(shù)據(jù)庫名稱>;
刪除一個數(shù)據(jù)庫
drop database <數(shù)據(jù)庫名稱>;

表操作

顯示所有表

(需要先通過 use 語句進(jìn)入到該數(shù)據(jù)庫里面)

show tables;
創(chuàng)建表

基本語法形式

create table table_name (column_name column_type);

創(chuàng)建表示例:

CREATE TABLE `ExchangeRate` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `baseCurrencyCode` varchar(8) NOT NULL DEFAULT 'USD'    COMMENT '基礎(chǔ)幣種代號',
  `targetCurrencyCode` varchar(8) NOT NULL DEFAULT ''  COMMENT '目標(biāo)幣種代號',
  `baseAmount` varchar(11) NOT NULL DEFAULT '1'        COMMENT '基礎(chǔ)貨幣數(shù)量',
  `targetAmount` Double(10, 2) NOT NULL DEFAULT '0'      COMMENT '目標(biāo)貨幣數(shù)量',
  `time` varchar(20),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  • AUTO_INCREMENT 表示自增

  • NOT NULL 表示該字段的值不為空

  • DEFAULT 表示該字段的默認(rèn)值

  • COMMENT 表示注釋內(nèi)容

刪除表
DROP TABLE table_name;
插入數(shù)據(jù)
INSERT INTO table_name (field1, field2, ...) VALUES (value1, value2, ...);
查詢數(shù)據(jù)

基本語法形式

SELECT column_name, column_name
FROM table_name
[WHERE Clause]
[LIMIT N]
[OFFSET M];
  • column_name 表示字段名稱囊扳,使用 * 來代表所有字段;

  • [WHERE Clause] where 語句來過濾篩選條件(可選);

  • [LIMIT N] limit 語句來制定返回數(shù)據(jù)的數(shù)據(jù)(可選);

  • [OFFSET M] offset 語句來指定開始查詢的偏移量,默認(rèn)情況下偏移量為0(可選);

更新數(shù)據(jù)

基本語法形式

UPDATE table_name SET filed1=new-value1, field2=new-value2
[WHERE Clause];
刪除數(shù)據(jù)

基本語法形式

DELETE FROM table_name [WHERE Clause];
LIKE 子句

Like 子句可以使用類似正則表達(dá)似的進(jìn)行匹配搜索曙博。

基本語法形式

SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue';
  • LIKE 通常與 % 一同使用晓淀,類似于一個元字符的搜索。

  • % 表示任意 0 個或多個字符鸯屿〕憾郑可匹配任意類型和長度的字符,有些情況下若是中文寄摆,請使用兩個百分號(%%)表示谅辣。

  • _ 表示任意單個字符。匹配單個任意字符婶恼,它常用來限制表達(dá)式的字符長度語句桑阶。

  • [] 表示括號內(nèi)所列字符中的一個(類似正則表達(dá)式)。指定一個字符勾邦、字符串或范圍蚣录,要求所匹配對象為它們中的任一個。

  • [^] 表示不在括號所列之內(nèi)的單個字符眷篇。其取值和 [] 相同萎河,但它要求所匹配對象為指定字符以外的任一個字符。

DISTINCT 刪除重復(fù)數(shù)據(jù)(用法 distinct(filed1) )

ORDER BY 字段排序, 使用 ASC 或 DESC 關(guān)鍵字來設(shè)置查詢結(jié)果是按升序或降序排列蕉饼。 默認(rèn)情況下虐杯,它是按升序排列 (用法 order by age desc )

GROUP BY 對結(jié)果分組 (用法 group name)

連表查詢
  • INNER JOIN(內(nèi)連接,或等值連接):獲取兩個表中字段匹配關(guān)系的記錄。

  • LEFT JOIN(左連接):獲取左表所有記錄昧港,即使右表沒有對應(yīng)匹配的記錄擎椰。

  • RIGHT JOIN(右連接): 與 LEFT JOIN 相反,用于獲取右表所有記錄创肥,即使左表沒有對應(yīng)匹配的記錄达舒。

ALTER 命令

當(dāng)我們需要修改數(shù)據(jù)表名或者修改數(shù)據(jù)表字段時,就需要使用到MySQL ALTER命令瓤的。

刪除表 table_name 中的字段 i:

ALTER TABLE table_name DROP i;

在表 table_name 中添加 INT 類型的字段 i:

ALTER TABLE table_name ADD i INT;

在表 table_name 中修改字段 c 的類型為 char(10) :

ALTER TABLE table_name MODIFY c CHAR(10);

修改表名 table_namenew_table_name:

ALTER TABLE table_name RENAME TO new_table_name;

常見函數(shù)

函數(shù) 作用
json_extract 提取 json 字符串
replace(s1, s2) s2 替換 s1
count(*) 統(tǒng)計次數(shù)
trim 去掉字符串首尾空格
NOW() 當(dāng)前日期和時間
DATE() 當(dāng)前日期
CURTIME() 當(dāng)前時間

其他

配置文件位置

從命令行終端運(yùn)行此命令休弃,將在尋找Linux/BSD / OS X系統(tǒng)中的MySQL配置文件 my.cnf 文件:

mysql --help | grep 'Default options' -A 1

上面命令執(zhí)行后,會有這樣的輸出:

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf

參考

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末圈膏,一起剝皮案震驚了整個濱河市塔猾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌稽坤,老刑警劉巖丈甸,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件糯俗,死亡現(xiàn)場離奇詭異,居然都是意外死亡睦擂,警方通過查閱死者的電腦和手機(jī)得湘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來顿仇,“玉大人淘正,你說我怎么就攤上這事【饰牛” “怎么了鸿吆?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長述呐。 經(jīng)常有香客問我惩淳,道長,這世上最難降的妖魔是什么乓搬? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任思犁,我火速辦了婚禮,結(jié)果婚禮上进肯,老公的妹妹穿的比我還像新娘激蹲。我一直安慰自己,他們只是感情好坷澡,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布托呕。 她就那樣靜靜地躺著含蓉,像睡著了一般频敛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上馅扣,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天斟赚,我揣著相機(jī)與錄音,去河邊找鬼差油。 笑死拗军,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蓄喇。 我是一名探鬼主播发侵,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼妆偏!你這毒婦竟也來了刃鳄?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤钱骂,失蹤者是張志新(化名)和其女友劉穎叔锐,沒想到半個月后挪鹏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡愉烙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年讨盒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片步责。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡返顺,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蔓肯,到底是詐尸還是另有隱情创南,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布省核,位于F島的核電站稿辙,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏气忠。R本人自食惡果不足惜邻储,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望旧噪。 院中可真熱鬧吨娜,春花似錦、人聲如沸淘钟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽米母。三九已至勾扭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間铁瞒,已是汗流浹背妙色。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留慧耍,地道東北人身辨。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像芍碧,于是被迫代替她去往敵國和親煌珊。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354

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

  • 什么是數(shù)據(jù)庫泌豆? 數(shù)據(jù)庫是存儲數(shù)據(jù)的集合的單獨(dú)的應(yīng)用程序定庵。每個數(shù)據(jù)庫具有一個或多個不同的API,用于創(chuàng)建,訪問洗贰,管理...
    chen_000閱讀 4,035評論 0 19
  • 1. 了解SQL 1.1 數(shù)據(jù)庫基礎(chǔ) ? 學(xué)習(xí)到目前這個階段找岖,我們就需要以某種方式與數(shù)據(jù)庫打交道。在深入學(xué)習(xí)MyS...
    鋒享前端閱讀 1,066評論 0 1
  • 一敛滋、MySQL優(yōu)化 MySQL優(yōu)化從哪些方面入手: (1)存儲層(數(shù)據(jù)) 構(gòu)建良好的數(shù)據(jù)結(jié)構(gòu)许布。可以大大的提升我們S...
    寵辱不驚丶?xì)q月靜好閱讀 2,431評論 1 8
  • .數(shù)據(jù)庫 數(shù)據(jù)庫的發(fā)展: 文件系統(tǒng)(使用磁盤文件來存儲數(shù)據(jù))=>第一代數(shù)據(jù)庫(出現(xiàn)了網(wǎng)狀模型,層次模型的數(shù)據(jù)庫)=...
    小Q逛逛閱讀 964評論 0 2
  • “今日待辦清單”是一個謊言 易效能:每天都完成計劃蜜唾,才能計劃自己的未來。/所謂迷茫庶艾,就是才華配不上夢想袁余。 1、今日...
    竹葉青青_550c閱讀 306評論 0 0