一、基礎(chǔ)操作--sql語句以及類型
大約有四種類型:int 整數(shù)抹镊、varchar 字符串锉屈、float 單精度 浮點數(shù)、datetime 時間
創(chuàng)建表:create table student(id int not null primary key auto_increment,name varchar(20) not null); -->例垮耳,可根據(jù)需求自己寫颈渊,格式如上。
刪除表:drop table 表名;
修改表名稱:rename table 舊表 to 新表;
修改表名稱:alter table 舊表 rename to 新表;
查看創(chuàng)建表語句:show create table 表名;
查看當前數(shù)據(jù)庫中所有表的狀態(tài):show table status;
二终佛、聯(lián)合主鍵俊嗽、主鍵和外鍵是什么挑童?
聯(lián)合主降奚病:多個主鍵聯(lián)合形成一個主鍵組合闸准。
(主鍵原則上是唯一的营密,別被唯一值所困擾)
聯(lián)合主鍵的意義:用2個字段(或者多個字段,后面具體都是用2個字段組合)來確定一條記錄,說明朗若,這2個字段都不是唯一的太惠,2個字段可以分別重復(fù)痕鳍,這么設(shè)置的好處邪铲,可以很直觀的看到某個重復(fù)字段的記錄條數(shù)芬位。
一個簡單的例子
主鍵A跟主鍵B組成聯(lián)合主鍵
主鍵A跟主鍵B的數(shù)據(jù)可以完全相同,聯(lián)合就在于主鍵A跟主鍵B形成的聯(lián)合主鍵是唯一的带到。
下例主鍵A數(shù)據(jù)是1昧碉,主鍵B數(shù)據(jù)也是1,聯(lián)合主鍵其實是11,這個11是唯一值被饿,絕對不充許再出現(xiàn)11這個唯一值四康。(這就是多對多關(guān)系)
主鍵A數(shù)據(jù) 主鍵B數(shù)據(jù)
1 1
2 2
3 3
主鍵A與主鍵B的聯(lián)合主鍵值最多也就是
11
12
13
21
22
23
31
32
33
三、聚集索引和非聚集索引的區(qū)別狭握?
聚集索引一定是唯一索引闪金。但唯一索引不一定是聚集索引。
聚集索引论颅,在索引頁里直接存放數(shù)據(jù)毕泌,而非聚集索引在索引頁里存放的是索引,這些索引指向?qū)iT的數(shù)據(jù)頁的數(shù)據(jù)嗅辣。
四、一個字符等于幾個字節(jié)挠说?
不同的字符所占的字節(jié)是不同的澡谭。
ASCII碼:
一個英文字母(不分大小寫)占一個字節(jié)的空間,一個中文漢字占兩個字節(jié)的空間损俭。一個二進制數(shù)字序列蛙奖,在計算機中作為一個數(shù)字單元,一般為8位二進制數(shù)杆兵,換算為十進制雁仲。最小值0,最大值255琐脏。如一個ASCII碼就是一個字節(jié)攒砖。
UTF-8編碼:
一個英文字符等于一個字節(jié),一個中文(含繁體)等于三個字節(jié)日裙。
Unicode編碼:
一個英文等于兩個字節(jié)吹艇,一個中文(含繁體)等于兩個字節(jié)。
符號:
英文標點占一個字節(jié)昂拂,中文標點占兩個字節(jié)受神。舉例:英文句號“.”占1個字節(jié)的大小,中文句號“格侯”翘”占2個字節(jié)的大小。
五联四、五大約束類型
主鍵primary key
主鍵撑碴,又稱主碼,是表中一列或多列的組合碎连。主鍵約束要求主鍵列的數(shù)據(jù)唯一灰羽,并且不允許為空。主鍵能夠唯一地標識表中的一條記錄,可以結(jié)合外鍵來定義不同數(shù)據(jù)表之間的關(guān)系廉嚼,并且可以加快數(shù)據(jù)庫查詢的速度玫镐。主鍵和記錄之間的關(guān)系如同身份證和人之間的關(guān)系,他們是一一對應(yīng)的怠噪。主鍵分為兩種類型:單字段主鍵和多字段聯(lián)合主鍵恐似。
非空not null
非空約束指字段的值不能為空。對于使用了非空約束的字段傍念,如果用戶在添加數(shù)據(jù)時沒有指定值矫夷,數(shù)據(jù)庫系統(tǒng)會報錯。
惟一unique
唯一性約束要求該列唯一憋槐,允許為空双藕,但只能出現(xiàn)一個空值。唯一約束可以確保一列或者幾列不出現(xiàn)重復(fù)值阳仔。
默認default
默認約束指定某列的默認值忧陪。如男性同學較多,性別就可以默認為‘男’近范。如果插入一條新的記錄時沒有為這個字段賦值嘶摊,那么系統(tǒng)會自動為這個字段賦值為‘男’
外鍵foreign key
如果表A的主關(guān)鍵字是表B中的字段,則該字段稱為表B的外鍵评矩,表A稱為主表叶堆,表B稱為從表。外鍵是用來實現(xiàn)參照完整性的斥杜。