mysql表操作(alter)/mysql欄位型別
建立mysql表示例
create table test_csv(
id bigint(20) auto_increment,
create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
title varchar(512) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
url varchar(256) COLLATE utf8_unicode_ci NOT NULL,
source varchar(128) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
keywords varchar(512) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
summary text COLLATE utf8_unicode_ci NOT NULL,
pub_time timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
feed_name varchar(24) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `key_url` (`url`(10)), # 10 索引只設定url的前10位
KEY `key_feed_name` (`feed_name`(10))
)ENGINE=InnoDB AUTO_INCREMENT=500695 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
修改表名字
alter table 表名 change 原名 新名 型別及約束;
例:
alter table students change birthday birth datetime not null;
清空表資料
truncate table 表名
建立表之前的判斷語句
drop table if exists test_csv;
create table if not exists test_csv;
修改表欄位(修改屬性,修改欄位名)
alter table 表名 modify 列名 型別及約束; # 型別是要設定的新屬性
例:
alter table students modify birth date not null;
新增表欄位
alter table 表名 add 列名 型別;
例:
alter table students add birthday datetime;
刪除表欄位
alter table 表名 drop 列名;
例:
alter table students drop birthday;
刪除表
drop table 表名;
例:
drop table students;
檢視錶的建立語句
show create table 表名;
例:
show create table classes;
mysql欄位型別
一千位元組(1kB) = 1024位元組(B | byte)
一位元組(B | byte) = 8 位(b | bit)
整數
字串型別
時間型別
符合型別
ENUM 型別
ENUM 型別因為只允許在集合中取得一個值,有點類似於單選項。在處理相互排拆的資料時容易讓人理解,比如人類的性別。ENUM 型別欄位可以從集合中取得一個值或使用 null 值,除此之外的輸入將會使 MySQL 在這個欄位中插入一個空字串。另外如果插入值的大小寫與集合中值的大小寫不匹配,MySQL 會自動使用插入值的大小寫轉換成與集合中大小寫一致的值
SET 型別
SET 型別與 ENUM 型別相似但不相同。SET 型別可以從預定義的集合中取得任意數量的值。並且與 ENUM 型別相同的是任何試圖在 SET 型別欄位中插入非預定義的值都會使 MySQL 插入一個空字串。如果插入一個即有合法的元素又有非法的元素的記錄,MySQL 將會保留合法的元素,除去非法的元素。 一個 SET 型別最多可以包含 64 項元素。還去除了重複的元素,所以 SET 型別中不可能包含兩個相同的元素。
希望從 SET 型別欄位中找出非法的記錄只需查詢包含空字串或二進位制值為 0 的行。
相關文章
- PHP 操作 mysql blob 資料型別的欄位PHPMySql資料型別
- MySQL欄位型別最全解析MySql型別
- MYSQL SET型別欄位的SQL操作知識介紹MySql型別
- mysql加快alter操作MySql
- MySQL欄位新增註釋,但不改變欄位的型別MySql型別
- MySQL中TEXT與BLOB欄位型別的區別MySql型別
- 查詢mysql某張表中的所有資料(欄位)型別MySql型別
- MySQL VARCHAR型別欄位到底可以定義多長MySql型別
- 關於mysql中欄位定義的型別int、tinyint區別MySql型別
- mysql修改表欄位學習筆記MySql筆記
- MySQL 更新同一個表不同欄位MySql
- 5_MySQL 表的欄位約束MySql
- MySQL JSON資料型別操作MySqlJSON資料型別
- MySQL ALTER命令MySql
- 地理位置經緯度在Mysql中用什麼欄位型別MySql型別
- Mysql varchar型別欄位為什麼經常定義為255MySql型別
- MySQL把字串欄位轉換為日期型別進行比較MySql字串型別
- mysql alter modify 和 change的區別MySql
- MySQL 欄位約束MySql
- MySQL:count(*) count(欄位) 實現上區別MySql
- 例項操作mysql varchar型別求和MySql型別
- mysql建立表的時候對欄位和表新增COMMENTMySql
- MySQL 更新一個表裡的欄位等於另一個表某欄位的值MySql
- MySQL 數值型別溢位處理MySql型別
- mysql 字串型別的數值欄位按照數值的大小進行排序MySql字串型別排序
- MySQL-刪除欄位MySql
- MySQL 欄位擷取拼接MySql
- MySQL 大欄位問題MySql
- MySQL資料型別操作(char與varchar)MySql資料型別
- MongoDB更改欄位型別MongoDB型別
- Mysql多欄位大表的幾種優化方法MySql優化
- MySQL8.0大表秒加欄位,是真的嗎?MySql
- mysql的ALTER TABLE命令MySql
- MySQL DDL操作表MySql
- sql語句修改欄位型別和增加欄位SQL型別
- MySQL-建立計算欄位MySql
- MySQL欄位的取值範圍MySql
- ES Mapping ,1 欄位型別APP型別