第二章 數(shù)據(jù)類型與操作數(shù)據(jù)表

內(nèi)容回顧

mysql默認端口號:3306
mysql中的超級用戶:root
創(chuàng)建數(shù)據(jù)庫:CREATE DATABASE
修改數(shù)據(jù)庫:ALTER DATABASE
刪除數(shù)據(jù)庫:DROP DATABASE

數(shù)據(jù)類型之整型

** 數(shù)據(jù)類型:數(shù)據(jù)類型是指列废膘、存儲過程參數(shù)潮太、表達式和局部變量的數(shù)據(jù)特征贾虽,它決定了數(shù)據(jù)的存儲格式,代表了不同的信息類型故爵。**

整形所占空間

合理選擇數(shù)據(jù)類型,節(jié)省存儲空間(選擇最合適的為不是最大的數(shù)據(jù)類型)

數(shù)據(jù)類型之浮點型

浮點型

M表示數(shù)字總位數(shù)(整數(shù)部分和小數(shù)部分)D表示小數(shù)的位數(shù)

數(shù)據(jù)類型之日期時間型

Paste_Image.png

TIMESTAMP:1970.1.1-2037.(時間戳:從1970.1.1.0:00::00到當(dāng)前時間的秒數(shù)2^31)
DATA:1000.1.1-999912.31
DATATIME:1000.1.1.00:00-9999.12.31.23:59:5 9
TIME:-8385959-8385959
YEAR:1970-2069
實際開發(fā)日期時間類型用的不多周叮,存在時區(qū)的問題骇钦,大多采用數(shù)字類型取代(以時間戳的格式存儲)

數(shù)據(jù)類型之字符型

Paste_Image.png

char(M):定長宛渐,如果字節(jié)數(shù)少于M,存儲時會在字符串后邊增加空格補齊.如:char(5)眯搭,存放abc窥翩,存儲時會在后邊加兩個空格
varchar(M):變長是多上就存多少
enum:枚舉類型,只能選一個
set:集合類型鳞仙,可以選一個寇蚊,也可以選多個

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

** 概述:數(shù)據(jù)表(或稱表)是數(shù)據(jù)庫最重要的組成部分之一,是其他對象的基礎(chǔ)**

行:記錄棍好、元組
列:字段仗岸、屬性

數(shù)據(jù)表存在于數(shù)據(jù)庫中,要想使用數(shù)據(jù)表梳玫,首先要打開數(shù)據(jù)庫,可使用use命令打開數(shù)據(jù)庫右犹。用法:use databasename use后加數(shù)據(jù)庫名打開數(shù)據(jù)庫提澎。

  • 回顧:打開mysql的命令:mysql -uroot -proot -P3306 -h127.0.0.1 -u后是用戶名,-p后是密碼念链,-P后是端口號盼忌,-h后是主機地址(127.0.0.1表示本機) *

如何查看當(dāng)前所打開的數(shù)據(jù)庫:SELECT DATABASE();

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

CREATE TABLE [IF NOT EXISTS] table_name(
column_name data_type,
......
)

IF NOT EXISTS 可以省略,column_name 是列名,data_type是數(shù)據(jù)類型掂墓,可以從剛才的數(shù)據(jù)類型中選擇谦纱,“,”是列與列之間的分隔符君编,最后一列可以不寫跨嘉。
** 數(shù)據(jù)表的建立不能脫離項目,要根據(jù)項目需要建立 **
例:

CREATE TABLE tb1(
username VARCAHR(20),
age TINYINT UNSIGNED,
salary FLOAT(8,2) UNSIGNED
);

UNSIGNED:無符號(非負)
FLOAT(8,2):浮點型吃嘿,總8位祠乃,小數(shù)點后2位
salary:工資

查看數(shù)據(jù)表

查看數(shù)據(jù)表命令:SHOW TABLES;
不僅可以查看當(dāng)前數(shù)據(jù)庫的數(shù)據(jù)表梦重,還可以查看其他數(shù)據(jù)庫數(shù)據(jù)表,命令:SHOW TABLES FROM dbname

  • SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr]

** 查看后當(dāng)前數(shù)據(jù)庫不會改變亮瓷。 **

查看數(shù)據(jù)表結(jié)構(gòu)

查看數(shù)據(jù)表結(jié)構(gòu)命令:SHOW COLUMNS FROM tbl_name
或者:DESC tbl_name

記錄的插入與查找

  • 插入記錄:INSERT [INTO] tbl_name [(col_name,...)] VALUES(val,...)

中括號里的可以省略琴拧,列名可以省略,省略后默認為所有列嘱支,需要為所有列賦值
例:
INSERT tb1 VALUES('Tom',25,7867.4);
省略列名蚓胸,為所有字段賦值
INSERT tb1(username,salary) VALUES('John',4440.5);
不省略列名,為部分字段賦值

  • 簡單的SELECT命令:SELECT expr,... FROM tbl_name

SELECT * FROM tb1;

  • 沒有賦值的字段會顯示為null *

空值與非空

  • NULL除师,字段值可以為空
  • NOT NULL沛膳,字段值禁止為空

兩個不能同時用到一個字段上,原因你懂的

例:

CREATE TABLE tb2(
username VARCHAR(20) NOT NULL,
age TINYINT UNSIGNED NULL
);

NULL可以不寫馍盟,因為默認就是null(可以為空)
當(dāng)插入記錄時如果不為NOT NULL(不為空)的列賦值于置,會報錯的哦

自動編號

在需要保證某一記錄的唯一性(在數(shù)據(jù)表中這條記錄不存在重復(fù)),這時贞岭,可以為字段添加AUTO_INCREMENT
** 可以為整數(shù)八毯,也可以是浮點數(shù),浮點數(shù)要保證小數(shù)位數(shù)為0 **
AUTO_INCREMENT:

  • 自動編號瞄桨,且必須與主鍵組合只用
  • 默認情況下话速,起始值為1,每次的增量為1

例:

CREATE TABLE tb3(
id SMALLINT UNSIGNED AUTO_INCREMENT,
username VARCHAR(30) NOT NUL
);

會報錯芯侥,因為自動編號的字段必須定義為主鍵

初涉主鍵約束

主鍵PRIMARY KEY

  • 主鍵約束
  • 每張數(shù)據(jù)表只能存在一個主鍵
  • 主鍵保證記錄的唯一性
  • 逐漸自動為NUT NULL

主鍵約束的字段不能為空泊交,建表時會自動加上,自己手動加也不會出錯

例:

CREATE TABLE tb3(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(30) NOT NUL
);

主鍵既可以寫成KEY也可以寫成PRIMARY KEY

設(shè)為自動編號的字段不用賦值
例:

INSERT tb3(username) VALUES('Tom');
INSERT tb3(username) VALUES('John');
INSERT tb3(username) VALUES('Rsoe');
INSERT tb3(username) VALUES('Dimitar');

使用SELECT查看后看到id自動加上了

AUTO_INCREMENT必須和主鍵一起使用柱查,但是PRIMARY KEY不一定要和自動編號一起使用

CREATE TABLE tb4(
id SMALLINT UNSIGNED PRIMARY KEY,
username VARCHAR(20) NOT NULL
);

主鍵允許賦值廓俭,但是不允許存在相同的值

初涉唯一約束

主鍵只能存在一個,如果還想保證數(shù)據(jù)的唯一性唉工,可以用唯一約束

UNIQUE KEY:

  • 唯一約束
  • 唯一約束可以保證記錄的唯一性
  • 唯一約束的字段可以為空值
  • 每張數(shù)據(jù)表可以存在多個唯一約束

唯一約束不約束空值(可以存在多個NULL)
例:

CREATE TABLE tb5(
id SMALLINT UNSIGNED AUTO INCREMENT KEY,
username VARCHAR(20) NOT NULL UNIQUE KEY,
age TINYINT UNSIGNED
);

表結(jié)構(gòu):


Paste_Image.png

初涉默認約束

DEFAULT:

  • 默認值
  • 當(dāng)插入記錄時研乒,如果沒有明確為字段賦值,則自動賦予默認值淋硝。
CREATE TABLE tb6(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(20) NOT NULL UNIQUE KEY,
sex ENUM('1','2','3') DEFAULT '3'
);
表結(jié)構(gòu)

沒有賦值時系統(tǒng)會使用默認值

總結(jié)

本節(jié)知識點

  • 數(shù)據(jù)類型
    • 字符型
    • 整型
    • 浮點型
  • 數(shù)據(jù)表操作
    • 插入記錄
    • 查找記錄
  • 記錄操作
    • 創(chuàng)建數(shù)據(jù)表
    • 約束的使用
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末雹熬,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子谣膳,更是在濱河造成了極大的恐慌竿报,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件继谚,死亡現(xiàn)場離奇詭異烈菌,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門僧界,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侨嘀,“玉大人,你說我怎么就攤上這事捂襟∫螅” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵葬荷,是天一觀的道長涨共。 經(jīng)常有香客問我,道長宠漩,這世上最難降的妖魔是什么举反? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮扒吁,結(jié)果婚禮上火鼻,老公的妹妹穿的比我還像新娘。我一直安慰自己雕崩,他們只是感情好魁索,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著盼铁,像睡著了一般粗蔚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饶火,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天鹏控,我揣著相機與錄音,去河邊找鬼肤寝。 笑死当辐,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鲤看。 我是一名探鬼主播缘揪,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼刨摩!你這毒婦竟也來了寺晌?” 一聲冷哼從身側(cè)響起世吨,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤澡刹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后耘婚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體罢浇,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了嚷闭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片攒岛。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖胞锰,靈堂內(nèi)的尸體忽然破棺而出灾锯,到底是詐尸還是另有隱情,我是刑警寧澤嗅榕,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布顺饮,位于F島的核電站,受9級特大地震影響凌那,放射性物質(zhì)發(fā)生泄漏兼雄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一帽蝶、第九天 我趴在偏房一處隱蔽的房頂上張望赦肋。 院中可真熱鬧,春花似錦励稳、人聲如沸佃乘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恕稠。三九已至,卻和暖如春扶欣,著一層夾襖步出監(jiān)牢的瞬間鹅巍,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工料祠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留骆捧,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓髓绽,卻偏偏與公主長得像敛苇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子顺呕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

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