一、創(chuàng)建數(shù)據(jù)庫
CREATE DATABASE 數(shù)據(jù)庫名稱;
語句以英文 ';'(分號(hào))結(jié)尾,表示執(zhí)行SQL語句
二、使用數(shù)據(jù)庫
USE 數(shù)據(jù)庫名稱;
三、創(chuàng)建數(shù)據(jù)庫里的表
1. CREATE TABLE 表名稱;
注意:表名/列名等稱中不能有空格,如需要有空格嗎,必須使用‘_’(下劃線)代替空格
2. 創(chuàng)建表時(shí)需一同定義表中的列名
CREATE TABLE first_sheet
(
姓名 VARCHAR(30),
性別 DEC(1),
出生日期 DATE
體重 DEC(3,1)
);
注意:
① 數(shù)據(jù)類型必須定義,數(shù)據(jù)長度也須定義;數(shù)據(jù)長度中逗號(hào)前的表示數(shù)據(jù)允許存儲(chǔ)總位數(shù),逗號(hào)后表示小數(shù)點(diǎn)后的位數(shù);
②列名需用英文逗號(hào)隔開,最后一個(gè)列名不需要逗號(hào)。
3. 描述表的結(jié)構(gòu)
DESC 表名;
DESC 是'describe'的簡稱
4. 刪除表
DROP 表名;
四、常用數(shù)據(jù)類型
1. CHAR和VARCHAR
① CHAR 存儲(chǔ)不可變長的字符串,定義后所占有的空間是固定的;
② VARCHAR 存儲(chǔ)可變長的字符串,定義后所占用的空間是不固定的,因此使用時(shí)可盡量把長度多定義一部分
③ VARCHAR 最大255字符
區(qū)別:
① CHAR占用的空間固定,如CHAR(10),即使存儲(chǔ)‘a(chǎn)aa’也需要占有10個(gè)字符,'aaa'3個(gè)+7個(gè)空字符);VARCHAR占用的空間不固定,如VARCHAR(10),存儲(chǔ)'aaa'只需要占用3個(gè)字符。
② CHAR的運(yùn)算效率更快,但是占用的空間更大,VARCHAR的運(yùn)算速度慢些,但是占用的空間更靈活;想要獲得效率,就必須犧牲一定的空間,這也就是數(shù)據(jù)庫設(shè)計(jì)上常說的‘以空間換效率’。
2. INTEGER和INT
表示正負(fù)整數(shù),包含0,二者無本質(zhì)區(qū)別
3. BLOB
存儲(chǔ)大文本數(shù)據(jù)時(shí)使用
4. DEC,即DECIMAL縮寫
存儲(chǔ)數(shù)值
5. DATE
存儲(chǔ)日期
6. DATETIME
存儲(chǔ)日期和時(shí)間
五、INSERT語句
1. INSERT INTO 表名 (列名1,列名2,.....) VALUES ('value1','value2',..........);
注意:
① 數(shù)據(jù)值得順序和列名的順序必須一致;
② INSERT語句里CHAR、VARCHAR、BLOB和DATE的值必須加英文單引號(hào);
③ DEC和INT等數(shù)值不需要加單引號(hào)。
2. 各種INSERT語句
① 列名的順序可以改變,但是數(shù)值的順序也需要根據(jù)改變的列名一起改變;
② 可省略所有列名,但是必須按建表時(shí)的順序填入所有的數(shù)值;
③ 可省略部分列名,只填寫已輸入的列名對(duì)應(yīng)的數(shù)值,其余未填寫列名的數(shù)值會(huì)定義為NULL。
3. SELECT 基本語句
SELECT * FROM 表名
表示從表里查詢所有的數(shù)據(jù)
六、NULL和DEFALUT
1. NULL
① NULL表示未定義的數(shù)值,它不等于零,也不是空字符串變量,甚至不等于它自己
② 可以把數(shù)值改為不接受NULL,這么做的話INSERT語句里一定要提供NOT NULL的值,否則會(huì)提示出錯(cuò):
CREATE TABLE first_sheet
(
姓名 VARCHAR(30) NOT NULL,
性別 DEC(1) NOT NULL,
出生日期 DATE NOT NULL
體重 DEC(3,1)
);
2.DEFALUT
① 如果某些列通常有某個(gè)特定的值,那么我們可以把這個(gè)特定的值指派為DEFALUT的默認(rèn)值
② 只要沒有另外指派其他值,DEFALUT的值就會(huì)在每次新增記錄時(shí)插入表中。
CREATE TABLE first_sheet
(
姓名 VARCHAR(30) NOT NULL,
性別 DEC(1) NOT NULL,
出生日期 DATE NOT NULL
身高 VARCHAR(3) NOT NULL DEFALUT 170
體重 DEC(3,1)
);