建表時指定主鍵:
站在用戶的角度思考問題,與客戶深入溝通,找到嵊泗網(wǎng)站設(shè)計與嵊泗網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設(shè)計、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋嵊泗地區(qū)。
CONSTRAINT pk_name PRIMARY KEY(列名);
建表時指定外鍵:
CONSTRAION pk_name FOREIGN KEY(列名) REFERENCES table_name(列名);
可以直接自己添加描述字段。
DROP TABLE IF EXISTS `user`;
CREATE TABLE user
( idBIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT
COMMENT '主鍵',
username ? ? ?VARCHAR(50) ? ? ? ? NOT NULL DEFAULT ''
COMMENT '用戶名',
username_type VARCHAR(20) ? ? ? ? NOT NULL DEFAULT ''
COMMENT '用戶類型',
user_password VARCHAR(50) ? ? ? ? NOT NULL DEFAULT ''
COMMENT '用戶密碼',
create_time ? TIMESTAMP ? ? ? ? ? NOT NULL DEFAULT CURRENT_TIMESTAMP
COMMENT '創(chuàng)建時間',
update_time ? TIMESTAMP ? ? ? ? ? NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP
COMMENT '更新時間',
PRIMARY KEY (id),
UNIQUE KEY idx_urn(username) USING BTREE
)
ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COMMENT = '用戶信息表';
或者。
#創(chuàng)建表的時候?qū)懽⑨?/p>
CREATE TABLE userinfo(
id INT COMMENT '編號',
uname VARCHAR(40) COMMENT '用戶名',
address VARCHAR(120) COMMENT '家庭住址',
hobby VARCHAR(200) COMMENT '愛好'
)COMMENT = '用戶信息表';
#修改表的注釋
ALTER TABLE userinfo COMMENT '用戶信息資料表';
#修改字段的注釋,注意:字段名和字段類型照寫就行
ALTER TABLE userinfo MODIFY COLUMN uname VARCHAR(40) COMMENT '姓名';
#查看表注釋的方法,在生成的SQL語句中看
SHOW CREATE TABLE userinfo;
#在元數(shù)據(jù)的表里面看
USE information_schema;
SELECT * FROM TABLES WHERE TABLE_SCHEMA='shoppingcart' AND TABLE_NAME='userinfo';
#查看字段注釋的方法
SHOW FULL COLUMNS FROM userinfo;
#在元數(shù)據(jù)的表里面看
SELECT * FROM COLUMNS WHERE TABLE_SCHEMA='shoppingcart' AND TABLE_NAME='userinfo';
擴(kuò)展資料:
mysql查詢和索引:
只有當(dāng)數(shù)據(jù)庫里已經(jīng)有了足夠多的測試數(shù)據(jù)時,它的性能測試結(jié)果才有實際參考價值。如果在測試數(shù)據(jù)庫里只有幾百條數(shù)據(jù)記錄,它們往往在執(zhí)行完第一條查詢命令之后就被全部加載到內(nèi)存里,這將使后續(xù)的查詢命令都執(zhí)行得非???-不管有沒有使用索引。
只有當(dāng)數(shù)據(jù)庫里的記錄超過了 1000 條、數(shù)據(jù)總量也超過了 MySQL 服務(wù)器上的內(nèi)存總量時,數(shù)據(jù)庫的性能測試結(jié)果才有意義。
在不確定應(yīng)該在哪些數(shù)據(jù)列上創(chuàng)建索引的時候,人們從 EXPLAIN SELECT 命令那里往往可以獲得一些幫助。這其實只是簡單地給一條普通的 SELECT 命令加一個 EXPLAIN 關(guān)鍵字作為前綴而已。
有了這個關(guān)鍵字,MySQL 將不是去執(zhí)行那條 SELECT 命令,而是去對它進(jìn)行分析。MySQL 將以表格的形式把查詢的執(zhí)行過程和用到的索引等信息列出來。
在 EXPLAIN 命令的輸出結(jié)果里,第1列是從數(shù)據(jù)庫讀取的數(shù)據(jù)表的名字,它們按被讀取的先后順序排列。type列指定了本數(shù)據(jù)表與其它數(shù)據(jù)表之間的關(guān)聯(lián)關(guān)系(JOIN)。在各種類型的關(guān)聯(lián)關(guān)系當(dāng)中。
效率最高的是 system,然后依次是 const、eq_ref、ref、range、index 和 All(All 的意思是:對應(yīng)于上一級數(shù)據(jù)表里的每一條記錄,這個數(shù)據(jù)表里的所有記錄都必須被讀取一遍——這種情況往往可以用一索引來避免)。
possible_keys 數(shù)據(jù)列給出了 MySQL 在搜索數(shù)據(jù)記錄時可選用的各個索引。key 數(shù)據(jù)列是 MySQL 實際選用的索引,這個索引按字節(jié)計算的長度在 key_len 數(shù)據(jù)列里給出。
比如說,對于一個 INTEGER 數(shù)據(jù)列的索引,這個字節(jié)長度將是4。如果用到了復(fù)合索引,在 key_len 數(shù)據(jù)列里還可以看到 MySQL 具體使用了它的哪些部分。作為一般規(guī)律,key_len 數(shù)據(jù)列里的值越小越好。
ref 數(shù)據(jù)列給出了關(guān)聯(lián)關(guān)系中另一個數(shù)據(jù)表里的數(shù)據(jù)列的名字。row 數(shù)據(jù)列是 MySQL 在執(zhí)行這個查詢時預(yù)計會從這個數(shù)據(jù)表里讀出的數(shù)據(jù)行的個數(shù)。row 數(shù)據(jù)列里的所有數(shù)字的乘積可以大致了解這個查詢需要處理多少組合。
最后,extra 數(shù)據(jù)列提供了與 JOIN 操作有關(guān)的更多信息,比如說,如果 MySQL 在執(zhí)行這個查詢時必須創(chuàng)建一個臨時數(shù)據(jù)表,就會在 extra 列看到 usingtemporary 字樣。
參考資料來源:百度百科-MySQL
應(yīng)該可以直接在create語句中加上注釋呀,比如MySQL的
CREATE TABLE `oa_apps` (
`app_seq_id` int(10) unsigned NOT NULL auto_increment COMMENT '自動編號',
`name` varchar(20) default NULL COMMENT '名稱',
`father_seq_id` int(10) unsigned default NULL COMMENT '欄目ID',
`bg` varchar(100) default NULL COMMENT '背景圖片',
`width` int(11) default NULL COMMENT '寬度',
`height` int(11) default NULL COMMENT '高度',
`page_url` varchar(200) default NULL COMMENT '外部頁面',
`place_seq` int(10) unsigned default NULL COMMENT '排序序號',
`link` tinyint(1) default '0' COMMENT '新窗口鏈接',
PRIMARY KEY (`app_seq_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='應(yīng)用中心' AUTO_INCREMENT=1 ;
在字段后面添加comment 'XXX'
例如:
CREATE TABLE `XXX` (
`ID` int NOT NULL COMMENT '應(yīng)用ID',
)