-
另一種形式插入記錄
insert? 表名 set? 列名=' ',列名=' ';
不可以多條插入。
insert user set name='bob',age=10;
insert 表名 select? ...? ? ? 將查詢的結果插入到指定數據表。
查看全部 -
默認約束?DEFAULT
插入記錄時,如果沒有明確為字段賦值,則自動賦予默認值。
查看全部 -
主鍵索引不可以為空 唯一索引 可以?
主鍵索引一張表里面只能存在一個 唯一索引可以存在多個
當存儲相同的數據時,唯一約束會報錯 并提醒已經存在相同的數據
查看全部 -
insert [into] 表名 [列名] values(,,,),(,,,);
為自動編號的字段賦值時,可以用null或default,讓其默認自增賦值
如果省略列名,所有的列必須依次賦值,不讓報錯。
復制可以寫數學表達式,數學表達式,函數等
如果字段賦過默認值的話,負值時可以將default付給它
可以一次性寫入多條記錄
insert 表名 values(,,),(,,);
查看全部 -
alter table 表名 MODIFY id SMALLINT unsigned not null first;(修改列定義)移動id字段到表的第一列。
修改數據類型時,從大類型修改為小類型,可能造成數據的丟失。
show columns from 表名;查看表結構。
alter table 表名 CHANGE pid p_id TINYINT unsigned not null;
同時修改列名和列類型;
alter table 舊表名 rename 新表名;修改數據表名
rename table 表名 to 新表名,表名2 to 新表名2;修改數據表名(可以為多張數據表改名)
查看全部 -
alter table 表名 drop primary?。耄澹?;刪除主鍵約束;
alter table 表名 drop index 字段名;刪除唯一約束;
show create table 表名;查看外鍵約束名稱;
alter table 表名 drop foreign?。耄澹⊥怄I約束名;刪除外鍵約束;
查看全部 -
alter table 表名 alter 列名 SET default 值;添加默認約束
alter table 表名 alter 列名 DORP default;刪除默認約束
查看全部 -
MySQL自動編號(保證了每一條記錄的唯一性)
自動編號:為某一字段(必須為數值型,如果為浮點數,小數位數一定要為0)添加AUTO_INCREMENT屬性,針對主鍵這一屬性的特性。
三:約束
(一)主鍵約束 PRIMARY KEY
每張數據表只能存在一個主鍵
主鍵保證記錄的唯一性
主鍵自動為 NOT NULL
#自動編號必須設為主鍵,但主鍵不一定需要自動編號
特點1:必須與主鍵組合使用。
特點2:默認情況下,起始值為1,每次增量為1.
(二)唯一約束? UNIQUE KEY
唯一約束可以保證記錄的唯一性
唯一約束的字段可以為空值(NULL)
每張數據表可以存在多個唯一約束
unique key 與 primary key的區別是:
unique key 可以是為空的,但整張表的那個字段只允許有一個空。而primary key是不允許為空的。
unique key 可以存在多個字段,而primary key 只能一個。
(三)默認約束?DEFAULT
默認值
插入記錄時,如果沒有明確為字段賦值,則自動賦予默認值。
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.查看數據表:
SHOW?TABLES?[FROM?db_name]?[LIKE?'pattern'?|?WHERE?expr]
3.查看數據庫表結構:
SHOW?COLUMNS?FROM?tbl_name;
查看全部 -
二:操作數據表
打開數據庫
USE?數據庫名稱; 顯示當前數據庫 SELECT?DATABASE()
創建數據表
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 定長?比如CHAR(5),如果我們只賦值abc,那么系統會自動在后面補兩個空格
VARCHAR 變長?會根據輸入長度進行變化
ENUM('value1','value2') 單選??枚舉值,提供幾個選項,選擇其中一個,如:性別
SET('value1','value2'...)多選?在集合中做任意的排列組合,比如abc,可以是a,b,c,ab,bc...
查看全部 -
3.日期時間型
#多用數字類型代替
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.浮點型 FLOAT([M,D])
存儲范圍:3.4*10∧38 M是數字的總位數,D是小數點后面位數(M>=D)。
如果M和D省略,根據硬性允許的限制來保存值。
單精度浮點型精確到大約7位小數位。?
DOUBLE([M,D])存儲范圍:1.79*10∧308
#多用FLOAT類型,因為存儲范圍越大,占用空間越多,選擇最合適的類型而不是最大的類型
查看全部
舉報