用sql語句創(chuàng)建表結(jié)構(gòu)啊,首先創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù),命名為XXXXX,然后創(chuàng)建表AAA:
創(chuàng)新互聯(lián)是一家專業(yè)從事成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,創(chuàng)新互聯(lián)依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!
create table AAA(
id int(11) 自增 無符號(hào)
name varchar(50)
......
)
首頁
站長(zhǎng)學(xué)院
數(shù)據(jù)庫(kù)
MySQL
怎樣使用MySQLi和PDO創(chuàng)建MySQL表?
怎樣使用MySQLi和PDO創(chuàng)建MySQL表?
發(fā)布日期:2015-09-15 17:27 來源: 標(biāo)簽: MySQL數(shù)據(jù)庫(kù) MySQL 創(chuàng)建數(shù)據(jù)表 PDO
一個(gè)數(shù)據(jù)表有一個(gè)唯一名稱,并有行和列組成。
PHP 創(chuàng)建 MySQL 表
一個(gè)數(shù)據(jù)表有一個(gè)唯一名稱,并有行和列組成。
使用 MySQLi 和 PDO 創(chuàng)建 MySQL 表
CREATE TABLE 語句用于創(chuàng)建 MySQL 表。
我們將創(chuàng)建一個(gè)名為 "MyGuests" 的表,有 5 個(gè)列: "id", "firstname", "lastname", "email" 和 "reg_date":
CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)
上表中的注意事項(xiàng):
數(shù)據(jù)類型指定列可以存儲(chǔ)什么類型的數(shù)據(jù)。
在設(shè)置了數(shù)據(jù)類型后,你可以為沒個(gè)列指定其他選項(xiàng)的屬性:
NOT NULL - 沒一行都必須含有值(不能為空),null 值是不允許的。
DEFAULT value - 設(shè)置默認(rèn)值
UNSIGNED - 使用無符號(hào)數(shù)值類型,0 及正數(shù)
AUTO INCREMENT - 設(shè)置 MySQL 字段的值在新增記錄時(shí)每次自動(dòng)增長(zhǎng) 1
PRIMARY KEY - 設(shè)置數(shù)據(jù)表中每條記錄的唯一標(biāo)識(shí)。 通常列的 PRIMARY KEY 設(shè)置為 ID 數(shù)值,與 AUTO_INCREMENT 一起使用。
每個(gè)表都應(yīng)該有一個(gè)主鍵(本列為 "id" 列),主鍵必須包含唯一的值。
#常見的數(shù)據(jù)類型
/*
數(shù)值型:
整形
小數(shù):
? ? 定點(diǎn)數(shù)
? ? 浮點(diǎn)數(shù)
字符型:
較短的文本:char、varchar
較長(zhǎng)的文本:text、blob(較長(zhǎng)的二進(jìn)制數(shù)據(jù))
日期型:
*/
#一、整形
/*
分類:
tinyint、smallint、mediumint、int/integer、bigint
1 ? ? ? ? ? ?2 ? ? ? ? ? ? ? ?3 ? ? ? ? ? ? ? ? ? ? ? ?4 ? ? ? ? ? ? ? ?8
特點(diǎn):
-如果不設(shè)置無符號(hào)還是有符號(hào),默認(rèn)是有符號(hào),如果想設(shè)置無符號(hào),需要添加unsigned關(guān)鍵字
-如果插入的數(shù)值超出了整形的范圍,會(huì)報(bào)out of range異常,并且插入臨界值
-如果不設(shè)置長(zhǎng)度,會(huì)有默認(rèn)的長(zhǎng)度
-長(zhǎng)度代表了顯示的最大寬度,如果不夠會(huì)用0在左邊填充,但是必須搭配zerofill使用
*/
#1.如何設(shè)置無符號(hào)和有符號(hào)
CREATE TABLE tab_int(
t1 INT
t2 INT ZEROFILL ?【無符號(hào)】
);
#二、小數(shù)
/*
浮點(diǎn)型
float(M, D)
double(M, D)
定點(diǎn)型
dec(M, D)
decimal(M, D)
特點(diǎn):
-M:整數(shù)部位+小數(shù)部位
-D:小數(shù)部位
-M和D都可以省略
如果是decimal,則M默認(rèn)為10,D默認(rèn)為0
如果是float和double,則會(huì)根據(jù)插入的數(shù)值的精度來決定精度
定點(diǎn)型的精確度較高,如果要求插入數(shù)值的精度較高如貨幣運(yùn)算等則考慮使用
*/
CREATE TABLE tab_float (
f1 FLOAT(5, 2)
f2 DOUBLE (5, 2)
f3 DECIMAL(5, 2)
)
#原則:
/*
所選擇的類型越簡(jiǎn)單越好,能保存數(shù)值的類型越小越好
*/
#三、字符型
/*
較短的文本:
char
varchar
較長(zhǎng)的文本:
text
blob(較大的二進(jìn)制)
特點(diǎn):
? ? ? ? ? ? ? ? 寫法 ? ? ? ? ? ? ? ?M的意思 ? ? ? ? ? ? ????????????????????????????特點(diǎn) ? ? ? ? ? ? ? ? ? ????空間的耗費(fèi) ? ? ? ? ? ? ? ? ? ?效率????????
char ? ? ? ? ? ?char(M) ? ? ? 最大的字符數(shù),可以省略 ? ? ? ? 固定長(zhǎng)度的字符 ? ?????????比較耗費(fèi) ? ? ? ? ? ? ? ? ? ? ? ?高
varchar ? ? ?carchar(M) ? ?最大的字符數(shù),不可以省略 ? ?可變長(zhǎng)度的字符 ? ? ? ? ? ?比較節(jié)省 ? ? ? ? ? ? ? ? ? ? ? ?低
*/
CREATE TABLE tab_char(
c1 ENUM('a','b','c')
)
CREATE TABLE tab_set(
s1 ? ?SET ('a','b','c','d')
)
#四、日期型
特點(diǎn):
? ? ? ? ? ? ? ? ?字節(jié)? ? ? ? ? ? ? ? ? ? ? ? 范圍? ? ? ? ? ? ? ? ? ? 時(shí)區(qū)等的影響
datetime? ? ? ? ? ? ? ? ? ? ? ? ? 8? ? ? ? ? ? ? ? ? ? ? ? ? ? 10000-9999? ? ? ? ? ? 不受
timestamp? ? ? ? ? ? ? ? ? ? ? ? 4? ? ? ? ? ? ? ? ? ? ? ? 1970-2038? ? ? ? ? ? ? ? ? ? 受
CREATE TABLE tab_date(
t1? ? DATETIME,
t2? ? TIMESTAMP
)
#常見約束
/*
含義:一種限制,用于限制表中的數(shù)據(jù),為了保證表中的數(shù)據(jù)的準(zhǔn)確和可靠性
分類:六大約束
NOT NULL:非空,用于保證該字段的值不能為空,比如姓名、學(xué)號(hào)等
default:默認(rèn),用于保證該字段有默認(rèn)值,比如性別
primary key:主鍵,用于保證該字段的值具有唯一性,并且非空,比如學(xué)號(hào)等
unique:唯一,用于保證該字段的值具有唯一性,可以為空,比如座位號(hào)
check:檢查約束【mysql中不支持】,比如年齡、性別
foreign key:外鍵,用于限制兩個(gè)表的關(guān)系,用于保證該字段的值必須來自于主表的關(guān)聯(lián)列的值,在從表添加外鍵約束,用于引用主表中某列的值,比如員工表的部門編號(hào),員工表的工種編號(hào)
添加約束的時(shí)機(jī):
1.創(chuàng)建表時(shí)
2.修改表時(shí)
約束的添加分類:
列級(jí)約束:
? ? 六大約束語法上都支持,但外鍵約束沒有效果
表級(jí)約束:
? ? 除了非空、默認(rèn),其他的都支持
*/
CREATE TABLE 表名(
字段名? ? 字段類型? ? 列級(jí)約束,
表級(jí)約束
)
#一、創(chuàng)建表時(shí)添加約束
/*
語法:
直接在字段名和類型后面追加 約束類型即可
只支持:
*/
#1.添加列級(jí)約束
create table stuinfo (
id int primary key,? #主鍵
stuName? varchar(20) not null,? ?#非空
gender char(1)? check(gender='男' OR gender ='女'),? #檢查約束
seat int unique,? #唯一約束
age? int? default? 18,? #默認(rèn)約束
majorId int foreign key references major (id)? #外鍵
)
create table major (
id int primary key,
majorName? varchar (20)
)
desc stuinfo? ?#查看表結(jié)構(gòu)
show index from stuinfo? #查看stuinfo表中所有的索引,包括主鍵、外鍵、唯一
#2、添加表級(jí)約束
create table stuinfo (
id int
stuName? varchar(20)?
gender char(1)?
seat int,
age? int? ,?
majorId int
constraint pk primary key (id),? #主鍵
constraint? uq unique (seat),? #唯一鍵
constraint? ck check (gender = '男' or gender = '女'),? ?#檢查
constraint? fk_stuinfo_major foreign key(majorid) references major(id)? #外鍵
)
mysql 中的ZEROFILL意思是補(bǔ)零。格式為字段名 int(M) ?zerofill。在插入數(shù)據(jù)時(shí),當(dāng)該字段的值的長(zhǎng)度小于定義的長(zhǎng)度時(shí),會(huì)在該值的前面補(bǔ)上相應(yīng)的0。zerofill默認(rèn)為int(10)。當(dāng)使用zerofill 時(shí),默認(rèn)會(huì)自動(dòng)加unsigned(無符號(hào))屬性,使用unsigned屬性后,數(shù)值范圍是原值的2倍。
擴(kuò)展資料:
工具/材料:Management Studio。
1、首先在桌面上,點(diǎn)擊“Management Studio”圖標(biāo)。
2、之后在該界面中,點(diǎn)擊左上角“新建查詢”選項(xiàng)。
3、接著在該界面中,輸入帶ZEROFILL的sql語句“CREATE TABLE staffs ( id int(11) unsigned zerofill AUTO_INCREMENT,? col2 varchar(20) NOT NUL,? PRIMARY KEY (id), )? ”。
4、然后在該界面中,點(diǎn)擊左上方“執(zhí)行”按鈕。
5、最后在該界面中,顯示命令已成功完成。
create table test(
id int unsigned....
之前的最佳答案誤人子弟,無符號(hào)的英語都寫錯(cuò)。
mysql中是沒有number數(shù)據(jù)類型的,對(duì)應(yīng)的是int(整型)或者float(浮點(diǎn)型)等。
只要建表時(shí)沒有選擇unsigned(無符號(hào)型)選項(xiàng),那么就是可以填入負(fù)數(shù)的。
如果表已經(jīng)建好了,只需
ALTER
TABLE
指令將對(duì)應(yīng)字段屬性更改即可,參考SQL:
ALTER
TABLE
`user`
CHANGE
`regdate`
`regdate`
INT(
10
)
NOT
NULL
DEFAULT
'0'
標(biāo)題名稱:mysql怎么創(chuàng)建無符號(hào) mysql無符號(hào)整型怎么表示
轉(zhuǎn)載注明:http://m.newbst.com/article36/hpohpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、商城網(wǎng)站、企業(yè)建站、品牌網(wǎng)站設(shè)計(jì)、定制開發(fā)、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)