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

二椰拒、操作數(shù)據(jù)庫

操作數(shù)據(jù)庫——>操作數(shù)據(jù)庫中的表——>操作數(shù)據(jù)庫中表的數(shù)據(jù)
注:所有語句都要用;結(jié)尾。

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

例:創(chuàng)建數(shù)據(jù)庫westos并使用恳邀。
注:以后所有命令帶[]表示可選惊暴,帶{}表示必選。
1)創(chuàng)建數(shù)據(jù)庫

CREATE DATABASE [IF NOT EXISTS] westos;

2)刪除數(shù)據(jù)庫

DROP DATABASE [IF EXISTS] westos;

3)使用數(shù)據(jù)庫

USE `westos`
--tab鍵的上面笼恰,如果表名或者字段名是一個特殊字符

4)查看數(shù)據(jù)庫

SHOW DATABASES --查看所有的數(shù)據(jù)庫

對比SQLyog的可視化操作

SQLyog的可視化操作

學(xué)習(xí)思路:
①對照sqlyog可視化歷史記錄查看sql語句。
②固定的語法或關(guān)鍵字必須強行記住歇终。

2.數(shù)據(jù)庫的列類型

1)數(shù)值
①tinyint 十分小的數(shù)據(jù) 1個字符
②smallint 較小的數(shù)據(jù) 2個字節(jié)
③mediumint 中等大小的數(shù)據(jù) 3個字節(jié)
④int 標(biāo)準(zhǔn)的整數(shù) 4個字節(jié) 常用的int
⑤bigint 較大的數(shù)據(jù) 8個字節(jié)
⑥float 浮點數(shù) 4個字節(jié)
⑦double 浮點數(shù) 8個字節(jié)
⑧decimal 字符串形式的浮點數(shù) 在金融計算的時候使用
2)字符串
①char 固定大小的字符串 0-255
②varchar 可變的字符串 0-65535 常用的String
③tinytext 微型文本 2的8次方-1
④text 文本串 2的16次方-1 保存大文本
3)時間日期 對應(yīng)Java中的java.util.Date
①date 日期格式:YYYY-MM-DD
②time 時間格式:HH:mm:ss
③datetime 最常用的時間格式:YYYY-MM-DD HH:mm:ss
④timestamp 時間戳 較為常用
⑤year 年份表示
4)null:沒有值社证,未知。
注:不要使用NULL進行運算评凝,沒有意義追葡,結(jié)果仍為NULL。

3.數(shù)據(jù)庫的字段屬性

1)Unsigned:無符號的整數(shù)奕短,聲明了該列不能為負數(shù)宜肉。
2)zerofill:0填充的。不足的位數(shù)翎碑,使用0來填充谬返。
例:int(3),5——>005
3)自增:通常理解為自增日杈,自動在上一條記錄的基礎(chǔ)上+1(默認)遣铝。
通常用來設(shè)置唯一的主鍵index,必須是整數(shù)類型莉擒。
可以自定義設(shè)置主鍵自增的起始值和步長酿炸。

設(shè)置主鍵自增的起始值和步長

4)非空:假設(shè)設(shè)置為not null,如果不給它賦值就會報錯涨冀。
NULL填硕,如果不填寫值,默認就是null鹿鳖。
5)默認:設(shè)置默認的值扁眯。如果不指定該列的值,則會有默認的值栓辜。
6)拓展:每一個表都必須在以下五個字段恋拍。未來做項目用的垛孔,表示一個記錄存在意義藕甩。
①id 主鍵
version 樂觀鎖
③is_delete 偽刪除
④gmt_create 創(chuàng)建時間
⑤gmt_update 修改時間

4.創(chuàng)建數(shù)據(jù)表

目標(biāo):創(chuàng)建一個school數(shù)據(jù)庫。
創(chuàng)建學(xué)生表(列,字段)狭莱,使用SQL語句創(chuàng)建僵娃。
學(xué)號int,登錄密碼varchar(20)腋妙,姓名默怨,性別varchar(2),出生日期(datetime)骤素,家庭住址匙睹,郵箱(email)。

CREATE TABLE IF NOT EXISTS `student` (
  `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '學(xué)號',
  `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
  `pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密碼',
  `sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性別',
  `birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
  `address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
  `email` VARCHAR(50) DEFAULT NULL COMMENT '郵箱',
  PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

注意點:Ⅰ使用英文()济竹,表的名稱和字段盡量使用``括起來痕檬。
ⅡAUTO_INCREMENT 自增。
Ⅲ字符串的使用:用單引號''括起來送浊。
Ⅳ所有的語句后面加英文的,梦谜,最后一個不用加。
ⅤPRIMARY KEY主鍵袭景,一般一個表只有唯一的主鍵唁桩。

格式

CREATE TABLE [IF NOT EXISTS] `表名` (
  `字段名` 列類型 [屬性] [索引] [注釋],
  ······
)[表類型] [字符集設(shè)置] [注釋]

常用命令
例:查看創(chuàng)建數(shù)據(jù)庫和表的語句并顯示。

SHOW CREATE DATABASE school --查看創(chuàng)建數(shù)據(jù)庫school的語句
SHOW CREATE TABLE student --查看student數(shù)據(jù)表的定義語句
DESC student --顯示student表的語句

5.數(shù)據(jù)庫類型

關(guān)于數(shù)據(jù)庫引擎:INNODB 默認使用耸棒、MYISAM 早些年使用的荒澡。

MYISAM INNODB
事務(wù)支持 不支持 支持
數(shù)據(jù)行鎖定 不支持 支持
外鍵約束 不支持 支持
全文索引 支持 不支持
表空間的大小 較小 較大,約為MYISAM的2倍

常規(guī)使用操作
MYISAM:節(jié)約空間榆纽,速度較快仰猖。
INNODB:安全性高,事務(wù)的處理奈籽,多表多用戶操作饥侵。
在物理空間存在的位置
所有的數(shù)據(jù)庫文件都存在data目錄下,一個文件就對應(yīng)一個數(shù)據(jù)庫衣屏。
本質(zhì)還是文件的存儲躏升!
MySQL引擎在物理文件上的區(qū)別
InnoDB:在數(shù)據(jù)表中只有一個.frm文件,以及上級目錄下的ibdata1文件狼忱。
MYISAM對應(yīng)文件:
①.frm 表結(jié)構(gòu)的定義文件
②.MYD 數(shù)據(jù)文件(data)
③.MYI 索引文件(index)
設(shè)置數(shù)據(jù)庫的字符集編碼

CHARSET=utf8

MySQL的默認編碼是Latinl膨疏,不支持中文。
不設(shè)置成utf8的話钻弄,會是mysql默認的字符集編碼佃却。
在my.ini中配置默認的編碼:
charcicter-set-server=utf8

6.修改刪除表

1)修改

--修改表名:ALTER TABLE 舊表名 RENAME AS 新表名
ALTER TABLE teacher RENAME AS teacher1
--增加表的字段:ALTER TABLE 表名 ADD 字段名 列屬性
ALTER TABLE teacher1 ADD age INT(11)
--修改表的字段(重命名、修改約束)
--修改約束:ALTER TABLE 表名 字段名 列屬性
ALTER TABLE teacher1 MODIFY age VARCHAR(11)
--字段重命名:ALTER TABLE 表名 CHANGE 舊名字 新名字 [列屬性]
ALTER TABLE teacher1 CHANGE age age1 INT(1)
--刪除表的字段:ALTER TABLE 表名 DROP 字段名
ALTER TABLE teacher1 DROP age1

2)刪除

--刪除表(如果表存在再刪除):DROP TABLE [IF EXISTS] 表名
DROP TABLE IF EXISTS teacher1

注:所有的創(chuàng)建和刪除操作盡量加上判斷窘俺,以免報錯饲帅。
注意點:Ⅰ字段名使用``包裹。
Ⅱ注釋用--或/ * * /,不要用#灶泵。
Ⅲsql關(guān)鍵字大小寫不敏感育八,建議寫小寫。
Ⅳ所有的符號全部用英文赦邻。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末髓棋,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子惶洲,更是在濱河造成了極大的恐慌按声,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恬吕,死亡現(xiàn)場離奇詭異儒喊,居然都是意外死亡,警方通過查閱死者的電腦和手機币呵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門怀愧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人余赢,你說我怎么就攤上這事芯义。” “怎么了妻柒?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵扛拨,是天一觀的道長。 經(jīng)常有香客問我举塔,道長绑警,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任央渣,我火速辦了婚禮计盒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芽丹。我一直安慰自己北启,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布拔第。 她就那樣靜靜地躺著咕村,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蚊俺。 梳的紋絲不亂的頭發(fā)上懈涛,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音泳猬,去河邊找鬼批钠。 笑死泣港,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的价匠。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼呛每,長吁一口氣:“原來是場噩夢啊……” “哼踩窖!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起晨横,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤洋腮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后手形,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體啥供,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年库糠,在試婚紗的時候發(fā)現(xiàn)自己被綠了伙狐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡瞬欧,死狀恐怖贷屎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情艘虎,我是刑警寧澤唉侄,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站野建,受9級特大地震影響属划,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜候生,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一同眯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧唯鸭,春花似錦嗽测、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至停做,卻和暖如春晤愧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蛉腌。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工官份, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留只厘,地道東北人。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓舅巷,卻偏偏與公主長得像羔味,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子钠右,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,914評論 2 355

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