標籤:text mysql資料庫 sql var 語句 枚舉類 enum 輸入 def
一.字串類型enum枚舉類型
1 /* 2 也叫做枚舉類型,類似於單選! 3 如果某個欄位的值只能從某幾個確定的值中進行選擇,一般就使用enum類型,
在定義的時候需要將該欄位所有可能的選項都羅列出來: 4 5 */ 6 7 create table test_enum( 8 gender enum(‘male‘,‘female‘,‘secret‘); 9 );10 11 -- 而在插入資料的時候,只能在規定的選項中的進行選擇:12 insert into test_enum values(‘male‘);13 insert into test_enum values(‘female‘);
-- 資料庫中實際儲存的其實是整型資料!
1 -- 插入female2 insert into test_gender values(2);
text
在實際的開發中,自由輸入區一般都用text類型,比如新聞本文,部落格本文等!
1 create table news(2 news_id int(11) primary key auto_increment ,3 content text 4 );
set
/*也叫做集合類型,類似於多選項!如果一個欄位的值只能是某個或某幾個選項的值,最好使用set類型同enum類型一樣,在定義的時候也需要把所有可能的選項都羅列出來:*/create table zifu( hobby set(‘sleep‘,‘eat‘,‘study‘,‘php‘,‘LOL‘,‘WOW‘));insert into zifu values(‘sleep,php,LOL‘);
其實,多選項實際儲存的也是整型資料:
1 -- 選擇sleep 和php 1+8= 92 insert into zifu values(9);
二.列屬性
null和not null
預設情況下,欄位都是可以為空白的,也就是該屬性的預設值為null
1 -- not null 不可為空 unsigned非特殊字元2 create table stu(3 name varchar(20) not null,4 age tinyint unsigned5 );
default
自訂預設值屬性,也叫做default約束,通常就是配合not null屬性一起使用,也就是說某個欄位不允許為空白,但是如果使用者沒有給該欄位插入資料,就用預設值去填充!
create table user_my( id int primay key auto_increment name varchar(32) unique key default ‘我是沒有設定唯一鍵內容的name‘);
-- 當然,也可以直接插入default關鍵字,意思就是插入預設值:insert into user_my values(23,default);
primary key
1.設定主鍵之後就不能添加重複的主鍵的值了
2.主鍵會自動增加非空約束
定義主鍵方法有2:
1 -- 1.直接在欄位的後面進行設定 2 create table stu( 3 id int unique primary key auto_increment 4 ); 5 6 -- 2.定義完欄位後再定義主鍵 7 create table stu( 8 id int unique auto_increment, 9 primary key(id)10 );
注意:
如果某個主鍵是一個組合主鍵,就只能使用第二種方式!
1 create table tea(2 tea_name varchar(20),3 class_id tinyint unsigned, 4 day_num tinyint unsigned,5 -- 定義組合主鍵6 primary key(tea_name,class_id)7 );
unique key
1 -- 1.直接在欄位後面加unique 2 create table stu( 3 id int unsigned primary key auto_increament, 4 stu_id int unsigned unique key, 5 tel char(11) unique key 6 ); 7 8 -- 2.先定義欄位,後設定unique key 9 create table stu(10 id int unsigned primary key auto_increament,11 stu_id int unsigned ,12 tel char(11) ,13 -- 定義兩個唯一鍵14 unique key(stu_id,tel)15 );
MySQL資料庫動作陳述式(補充1)(cmd環境運行)