MySQL 基礎(chǔ) (二)- 表操作

1.MySQL表數(shù)據(jù)類型

  • MySQL支持多種類型剧腻,大致可以分為三類:數(shù)值耻警、日期/時間和字符串(字符)類型隔嫡。
    具體的數(shù)據(jù)類型可見:數(shù)據(jù)類型

2.用SQL語句創(chuàng)建表

  • 語句解釋:CREATE TABLE table_name (column_name column_type);
  • 設(shè)定列類型 、大小甘穿、約束:常見的列類型有int腮恩、char、varchar温兼、varchar(10)這個字符串類型長度就是10個字符秸滴,不帶n的:字符或者數(shù)字占一個字節(jié),漢字為兩個字節(jié)募判,帶n的:雙字節(jié)存儲荡含,字母或者數(shù)字、漢字兩個字節(jié)届垫。
  • 設(shè)定主鍵:PRIMARY KEY關(guān)鍵字用于定義列為主鍵释液。 您可以使用多列來定義主鍵,列間以逗號分隔装处。如: PRIMARY KEY ( runoob_id )误债。

3.用SQL語句向表中添加數(shù)據(jù)

  • 語句解釋:MySQL 表中使用 INSERT INTO SQL語句來插入數(shù)據(jù)。
  • 多種添加方式(指定列名;不指定列名):

指定列名:

mysql> INSERT INTO runoob_tbl 
    -> (runoob_title, runoob_author, submission_date)
    -> VALUES
    -> ("學(xué)習(xí) PHP", "菜鳥教程", NOW());

不指定列名:

mysql> INSERT INTO runoob_tbl
    -> VALUES
    -> (0, "JAVA 教程", "RUNOOB.COM", '2016-05-06');

4.用SQL語句刪除表

  • 語句解釋:刪除表用 drop寝蹈,就是啥都沒了;
  • DELETE:刪除表內(nèi)數(shù)據(jù)李命,用 delete。格式為:delete from 表名 where 刪除條件;
  • DROP:刪除表用 drop躺盛,就是啥都沒了项戴;格式為:drop table 表名;
  • TRUNCATE:清除表內(nèi)數(shù)據(jù),保存表結(jié)構(gòu)槽惫,用 truncate周叮。格式為:truncate table 表名;
  • 不同方式的區(qū)別:
    1、當(dāng)你不再需要該表時界斜, 用 drop;
    2仿耽、當(dāng)你仍要保留該表,但要刪除所有記錄時各薇, 用 truncate;
    3项贺、當(dāng)你要刪除部分記錄時, 用 delete峭判。

5.用SQL語句修改表

  • 修改列名: ALTER TABLE testalter_tbl CHANGE 老列名 新列名;
  • 修改表中數(shù)據(jù):update 表名 set 字段名=‘新內(nèi)容’ + where條件;
  • 刪除行:DELETE FROM table_name WHERE condition;
  • 刪除列:alter table 表名 drop column 列名;
  • 新建列:alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null;
  • 新建行:INSERT INTO table_name ( field1, field2,...fieldN ) VALUES
    ( value1, value2,...valueN );

作業(yè)#

項目三:超過5名學(xué)生的課(難度:簡單)
創(chuàng)建如下所示的courses 表 开缎,有: student (學(xué)生) 和 class (課程)。
例如,表:
+---------+------------+
| student | class |
+---------+------------+
| A | Math |
| B | English |
| C | Math |
| D | Biology |
| E | Math |
| F | Computer |
| G | Math |
| H | Math |
| I | Math |
| A | Math |
+---------+------------+

編寫一個 SQL 查詢林螃,列出所有超過或等于5名學(xué)生的課奕删。
應(yīng)該輸出:
+---------+
| class |
+---------+
| Math |
+---------+
Note:
學(xué)生在每個課中不應(yīng)被重復(fù)計算。

select class from courses group by class having count(distinct student)>=5
image.png

項目四:交換工資(難度:簡單)
創(chuàng)建一個 salary表疗认,如下所示完残,有m=男性 和 f=女性的值 。
例如:

id name sex salary
1 A m 2500
2 B f 1500
3 C m 5500
4 D f 500

交換所有的 f 和 m 值(例如横漏,將所有 f 值更改為 m谨设,反之亦然)。要求使用一個更新查詢缎浇,并且沒有中間臨時表扎拣。
運行你所編寫的查詢語句之后,將會得到以下表:

id name sex salary
1 A f 2500
2 B m 1500
3 C f 5500
4 D m 500
update salary set sex=if(sex='f','m','f')
image.png

2.2 MySQL 基礎(chǔ) (三)- 表聯(lián)結(jié)

學(xué)習(xí)內(nèi)容#

  • MySQL別名:MySQL支持兩種別名华畏,稱為列別名和表別名鹏秋。
  • INNER JOIN:(等值連接) 只返回兩個表中聯(lián)結(jié)字段相等的行。
  • LEFT JOIN:(左聯(lián)接) 返回包括左表中的所有記錄和右表中聯(lián)結(jié)字段相等的記錄 亡笑。
  • CROSS JOIN:返回被連接的兩個表的笛卡爾積侣夷,返回結(jié)果的行數(shù)等于兩個表行數(shù)的乘積。
  • 自連接:自連接可以將自身表的一個鏡像當(dāng)作另一個表來對待仑乌。
  • UNION:合并兩個或多個 SELECT 語句的結(jié)果集百拓。
    以上幾種方式的區(qū)別和聯(lián)系

作業(yè)#

項目五:組合兩張表 (難度:簡單)
在數(shù)據(jù)庫中創(chuàng)建表1和表2琴锭,并各插入三行數(shù)據(jù)(自己造)
表1: Person
+-------------+---------+
| 列名 | 類型 |
+-------------+---------+
| PersonId | int |
| FirstName | varchar |
| LastName | varchar |
+-------------+---------+
PersonId 是上表主鍵

表2: Address
+-------------+---------+
| 列名 | 類型 |
+-------------+---------+
| AddressId | int |
| PersonId | int |
| City | varchar |
| State | varchar |
+-------------+---------+
AddressId 是上表主鍵

編寫一個 SQL 查詢,滿足條件:無論 person 是否有地址信息衙传,都需要基于上述兩表提供 person 的以下信息:FirstName, LastName, City, State

select  FirstName,LastName,City,State  from Person a right join Address b on a.PersonId = b.PersonId
image.png

項目六:刪除重復(fù)的郵箱(難度:簡單)
編寫一個 SQL 查詢决帖,來刪除 email 表中所有重復(fù)的電子郵箱,重復(fù)的郵箱里只保留 Id 最小 的那個蓖捶。
+----+---------+
| Id | Email |
+----+---------+
| 1 | a@b.com |
| 2 | c@d.com |
| 3 | a@b.com |
+----+---------+
Id 是這個表的主鍵地回。
例如,在運行你的查詢語句之后俊鱼,上面的 Person表應(yīng)返回以下幾行:
+----+------------------+
| Id | Email |
+----+------------------+
| 1 | a@b.com |
| 2 | c@d.com |
+----+------------------+

delete p1 from email p1,email p2 where p1.Email = p2.Email and p1.ID > p2.ID
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末刻像,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子并闲,更是在濱河造成了極大的恐慌细睡,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帝火,死亡現(xiàn)場離奇詭異溜徙,居然都是意外死亡,警方通過查閱死者的電腦和手機犀填,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門蠢壹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人九巡,你說我怎么就攤上這事知残。” “怎么了比庄?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長乏盐。 經(jīng)常有香客問我佳窑,道長,這世上最難降的妖魔是什么父能? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任神凑,我火速辦了婚禮,結(jié)果婚禮上何吝,老公的妹妹穿的比我還像新娘溉委。我一直安慰自己,他們只是感情好爱榕,可當(dāng)我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布瓣喊。 她就那樣靜靜地躺著,像睡著了一般黔酥。 火紅的嫁衣襯著肌膚如雪藻三。 梳的紋絲不亂的頭發(fā)上洪橘,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天,我揣著相機與錄音棵帽,去河邊找鬼熄求。 笑死,一個胖子當(dāng)著我的面吹牛逗概,可吹牛的內(nèi)容都是我干的弟晚。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼逾苫,長吁一口氣:“原來是場噩夢啊……” “哼卿城!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起隶垮,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤藻雪,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后狸吞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體勉耀,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年蹋偏,在試婚紗的時候發(fā)現(xiàn)自己被綠了便斥。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡威始,死狀恐怖枢纠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情黎棠,我是刑警寧澤晋渺,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站脓斩,受9級特大地震影響木西,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜随静,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一八千、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧燎猛,春花似錦恋捆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至昭卓,卻和暖如春星立,著一層夾襖步出監(jiān)牢的瞬間爽茴,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工绰垂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留室奏,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓劲装,卻偏偏與公主長得像胧沫,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子占业,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,877評論 2 345

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

  • MYSQL 基礎(chǔ)知識 1 MySQL數(shù)據(jù)庫概要 2 簡單MySQL環(huán)境 3 數(shù)據(jù)的存儲和獲取 4 MySQL基本操...
    Kingtester閱讀 7,780評論 5 116
  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當(dāng)在唯一索引所對應(yīng)的列上鍵入重復(fù)值時绒怨,會觸發(fā)此異常。 O...
    我想起個好名字閱讀 5,182評論 0 9
  • Spark SQL, DataFrames and Datasets Guide Overview SQL Dat...
    草里有只羊閱讀 18,295評論 0 85
  • 轉(zhuǎn)眼間,基金課馬上畢業(yè)了念恍,一路從小白營走來六剥,驀然回首,有種滄海桑田峰伙、物是人非的感覺疗疟,好像自己突然變了個人一樣。...
    張衛(wèi)樂閱讀 328評論 0 8
  • 打開推薦電影欄瞳氓,它出現(xiàn)在我的視線里策彤,因探險懸疑題材抓住了我的眼球,于是開始了了解它的旅程匣摘。 開頭采用剪紙元素動畫簡...
    慕意謙華閱讀 221評論 0 0