mysql key_mysql 索引 key 的用法
mysql 索引 key 的用法
mysql> desc aa;
+-------+---------+------+-----+---------+-------+
| Field | Type? ? | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id? ? | int(11) | YES??|? ???| NULL? ? |? ?? ? |
+-------+---------+------+-----+---------+-------+
| xx? ? | int(11) | YES??| PRI | NULL? ? |? ?? ? |
+-------+---------+------+-----+---------+-------+
| yy? ? | int(11) | YES??| UNI | NULL? ? |? ?? ? |
+-------+---------+------+-----+---------+-------+
| zz? ? | int(11) | YES??| MUL | NULL? ? |? ?? ? |
+-------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)
[/PHP]
我們看到Key那一欄,可能會有4種值,即'啥也沒有','PRI','UNI','MUL'
1. 如果Key是空的, 那么該列值的可以重復(fù), 表示該列沒有索引, 或者是一個非唯一的復(fù)合索引的非前導(dǎo)列
2. 如果Key是PRI,??那么該列是主鍵的組成部分
3. 如果Key是UNI,??那么該列是一個唯一值索引的第一列(前導(dǎo)列),并別不能含有空值(NULL)
4. 如果Key是MUL,??那么該列的值可以重復(fù), 該列是一個非唯一索引的前導(dǎo)列(第一列)或者是一個唯一性索引的組成部分但是可以含有空值NULL
如果對于一個列的定義,同時滿足上述4種情況的多種,比如一個列既是PRI,又是UNI
那么"desc 表名"的時候,顯示的Key值按照優(yōu)先級來顯示 PRI->UNI->MUL
那么此時,顯示PRI
一個唯一性索引列可以顯示為PRI,并且該列不能含有空值,同時該表沒有主鍵
一個唯一性索引列可以顯示為MUL, 如果多列構(gòu)成了一個唯一性復(fù)合索引
因?yàn)殡m然索引的多列組合是唯一的,比如ID+NAME是唯一的,但是沒一個單獨(dú)的列依然可以有重復(fù)的值
只要ID+NAME是唯一的即可
相關(guān)文檔:
1、建立了一個j2ee項(xiàng)目。
2、將mysql的jdbc驅(qū)動拷貝到WebContent / WEB-INF/ lib 目錄下。
3、在驅(qū)動jar包上點(diǎn)右鍵將jar包添加到構(gòu)建路徑中。
4、然后編寫與數(shù)據(jù)庫相關(guān)的代碼。
5、在實(shí)現(xiàn)類中添加main方法進(jìn)行單元測試,各個方法都能正常運(yùn)行。
6、創(chuàng)建jsp頁面在其中創(chuàng)建對象調(diào)用查詢方法。產(chǎn)生錯誤。
cn.guopeng.bbs ......
防止注入的幾種辦法
其實(shí)原來就是我們需要過濾一些我們常見的關(guān)鍵字和符合如:
Select,insert,update,delete,and,*,等等
function inject_check($sql_str) {
return eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file
|outfile', $sql_str);?& ......
Mysql在默認(rèn)情況下建立表的字符編碼是latin1,所以在插入中文時會出錯。
eg:
1、查看表建立的sql源碼:
1: sql命令:show create table users
2:
3: 結(jié)果:
4: CREATE TABLE `users` (
5: `userID` int(10) unsigned NOT NULL AUTO_INCREMENT,
6: `userName` varchar(4 ......
1.在ORACLE中用select * from all_users顯示所有的用戶,而在MYSQL中顯示所有數(shù)據(jù)庫的命令是show
databases。對于我的理解,ORACLE項(xiàng)目來說一個項(xiàng)目就應(yīng)該有一個用戶和其對應(yīng)的表空間,而MYSQL項(xiàng)目中也應(yīng)該有個用戶和一個庫。在
ORACLE(db2也一樣)中表空間是文件系統(tǒng)中的物理容器的邏輯表示,視圖、觸發(fā)器和存儲過程也可 ......
今天,用Navicat為兩張表建立外健關(guān)系,總是提示創(chuàng)建失敗信息,發(fā)現(xiàn)是兩張表關(guān)聯(lián)的字段類型問題,但兩個字段都是int型哩,怎么會還會類型不一致呢,最后發(fā)現(xiàn)到一個地方有點(diǎn)不一樣,就是在“設(shè)計表”界面下方有個“無符號”的復(fù)選框,兩張表的主鍵字段其中一個沒勾選上這個復(fù)選框而導(dǎo)致雖然都是int類型� ......
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的mysql key_mysql 索引 key 的用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: w8系统搭建php网站,360W8系统下
- 下一篇: 终端命令运行php文件路径,PHP -S