-
另一種形式插入記錄
insert? 表名 set? 列名=' ',列名=' ';
不可以多條插入。
insert user set name='bob',age=10;
insert 表名 select? ...? ? ? 將查詢的結(jié)果插入到指定數(shù)據(jù)表。
查看全部 -
默認(rèn)約束?DEFAULT
插入記錄時(shí),如果沒(méi)有明確為字段賦值,則自動(dòng)賦予默認(rèn)值。
查看全部 -
主鍵索引不可以為空 唯一索引 可以?
主鍵索引一張表里面只能存在一個(gè) 唯一索引可以存在多個(gè)
當(dāng)存儲(chǔ)相同的數(shù)據(jù)時(shí),唯一約束會(huì)報(bào)錯(cuò) 并提醒已經(jīng)存在相同的數(shù)據(jù)
查看全部 -
insert [into] 表名 [列名] values(,,,),(,,,);
為自動(dòng)編號(hào)的字段賦值時(shí),可以用null或default,讓其默認(rèn)自增賦值
如果省略列名,所有的列必須依次賦值,不讓報(bào)錯(cuò)。
復(fù)制可以寫數(shù)學(xué)表達(dá)式,數(shù)學(xué)表達(dá)式,函數(shù)等
如果字段賦過(guò)默認(rèn)值的話,負(fù)值時(shí)可以將default付給它
可以一次性寫入多條記錄
insert 表名 values(,,),(,,);
查看全部 -
alter table 表名 MODIFY id SMALLINT unsigned not null first;(修改列定義)移動(dòng)id字段到表的第一列。
修改數(shù)據(jù)類型時(shí),從大類型修改為小類型,可能造成數(shù)據(jù)的丟失。
show columns from 表名;查看表結(jié)構(gòu)。
alter table 表名 CHANGE pid p_id TINYINT unsigned not null;
同時(shí)修改列名和列類型;
alter table 舊表名 rename 新表名;修改數(shù)據(jù)表名
rename table 表名 to 新表名,表名2 to 新表名2;修改數(shù)據(jù)表名(可以為多張數(shù)據(jù)表改名)
查看全部 -
alter table 表名 drop primary key;刪除主鍵約束;
alter table 表名 drop index 字段名;刪除唯一約束;
show create table 表名;查看外鍵約束名稱;
alter table 表名 drop foreign?。耄澹⊥怄I約束名;刪除外鍵約束;
查看全部 -
alter table 表名 alter 列名 SET default 值;添加默認(rèn)約束
alter table 表名 alter 列名 DORP default;刪除默認(rèn)約束
查看全部 -
MySQL自動(dòng)編號(hào)(保證了每一條記錄的唯一性)
自動(dòng)編號(hào):為某一字段(必須為數(shù)值型,如果為浮點(diǎn)數(shù),小數(shù)位數(shù)一定要為0)添加AUTO_INCREMENT屬性,針對(duì)主鍵這一屬性的特性。
三:約束
(一)主鍵約束 PRIMARY KEY
每張數(shù)據(jù)表只能存在一個(gè)主鍵
主鍵保證記錄的唯一性
主鍵自動(dòng)為 NOT NULL
#自動(dòng)編號(hào)必須設(shè)為主鍵,但主鍵不一定需要自動(dòng)編號(hào)
特點(diǎn)1:必須與主鍵組合使用。
特點(diǎn)2:默認(rèn)情況下,起始值為1,每次增量為1.
(二)唯一約束? UNIQUE KEY
唯一約束可以保證記錄的唯一性
唯一約束的字段可以為空值(NULL)
每張數(shù)據(jù)表可以存在多個(gè)唯一約束
unique key 與 primary key的區(qū)別是:
unique key 可以是為空的,但整張表的那個(gè)字段只允許有一個(gè)空。而primary key是不允許為空的。
unique key 可以存在多個(gè)字段,而primary key 只能一個(gè)。
(三)默認(rèn)約束?DEFAULT
默認(rèn)值
插入記錄時(shí),如果沒(méi)有明確為字段賦值,則自動(dòng)賦予默認(rèn)值。
CREATE TABLE tb2(?
?id SMALLINT UNSIGNED AUTO_INCREMENT PRINMARY KEY,?
?username VARCHAR(30) NOT NULL UNIQUE KEY,?
?sex ENUM('1','3','2')DEFALUT '3'
);
查看全部 -
空值與非空
NULL,字段值可以為空
NOT NULL,字段值禁止為空
mysql>?CREATE?TABLE?tb2( ????->?username?VARCHAR(20)?NOT?NULL. ????->?age?TINYINT?UNSIGNED?NULL
查看全部 -
2.記錄的插入與查找:
插入記錄:
INSERT [INTO] tb_name [(col_name,...)] VALUES(val,...);
如果插入全部字段值,列名字段名可省略
例如 INSERT tb1 VALUES('Tom',25,7876.66)全賦值
INSERT tb1(name,salary)VALUES('Tom',7876.66)部分賦值
記錄查找:
SELECT?expr,... FROM?tb_name;
全部記錄:
SELECT * FROM?tb_name;
查看全部 -
2.查看數(shù)據(jù)表:
SHOW?TABLES?[FROM?db_name]?[LIKE?'pattern'?|?WHERE?expr]
3.查看數(shù)據(jù)庫(kù)表結(jié)構(gòu):
SHOW?COLUMNS?FROM?tbl_name;
查看全部 -
二:操作數(shù)據(jù)表
打開(kāi)數(shù)據(jù)庫(kù)
USE?數(shù)據(jù)庫(kù)名稱; 顯示當(dāng)前數(shù)據(jù)庫(kù) SELECT?DATABASE()
創(chuàng)建數(shù)據(jù)表
CRLEATE?TABLE?[IF?NOT?EXISTS]?table_name?( ??column_name?data_type, ??····
CREATE?TABLE?tb1( username?VARCHAR(20), age?TINYINT?UNSIGNED, salary?FLOAT(8,2)?UNSIGNED );
查看全部 -
4.字符型:
CHAR 定長(zhǎng)?比如CHAR(5),如果我們只賦值abc,那么系統(tǒng)會(huì)自動(dòng)在后面補(bǔ)兩個(gè)空格
VARCHAR 變長(zhǎng)?會(huì)根據(jù)輸入長(zhǎng)度進(jìn)行變化
ENUM('value1','value2') 單選??枚舉值,提供幾個(gè)選項(xiàng),選擇其中一個(gè),如:性別
SET('value1','value2'...)多選?在集合中做任意的排列組合,比如abc,可以是a,b,c,ab,bc...
查看全部 -
3.日期時(shí)間型
#多用數(shù)字類型代替
1b year 1901至2155?
3b time -838:59:59至838:59:59?
3b date 1000-1-1至9999-12-31?
8b datetime 1000-1-1 00:00:00至9999-12-31 23:59:59?
4b timestamp 1970-01-01 08:00:01至2038-01-19 11:14:07
查看全部 -
2.浮點(diǎn)型 FLOAT([M,D])
存儲(chǔ)范圍:3.4*10∧38 M是數(shù)字的總位數(shù),D是小數(shù)點(diǎn)后面位數(shù)(M>=D)。
如果M和D省略,根據(jù)硬性允許的限制來(lái)保存值。
單精度浮點(diǎn)型精確到大約7位小數(shù)位。?
DOUBLE([M,D])存儲(chǔ)范圍:1.79*10∧308
#多用FLOAT類型,因?yàn)榇鎯?chǔ)范圍越大,占用空間越多,選擇最合適的類型而不是最大的類型
查看全部
舉報(bào)