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欄位型別小記MySql型別
- [轉]MySQL 欄位型別參考MySql型別
- MYSQL SET型別欄位的SQL操作知識介紹MySql型別
- MySQL欄位新增註釋,但不改變欄位的型別MySql型別
- MySQL中TEXT與BLOB欄位型別的區別MySql型別
- 查詢mysql某張表中的所有資料(欄位)型別MySql型別
- mysql表最多欄位數MySql
- mysql加快alter操作MySql
- 修改表的欄位型別型別
- MySQL VARCHAR型別欄位到底可以定義多長MySql型別
- MySQL的主鍵和欄位型別問題總結MySql型別
- [原創] mysql表欄位多少限定MySql
- 關於mysql中欄位定義的型別int、tinyint區別MySql型別
- 物件型介面 / 定製操作型別和欄位物件型別
- ORACLE MYSQL中join 欄位型別不同索引失效的情況OracleMySql型別索引
- mysql 用sql語句查詢一個表中的所有欄位型別、註釋MySql型別
- MySQL 更新同一個表不同欄位MySql
- mysql修改表欄位學習筆記MySql筆記
- 5_MySQL 表的欄位約束MySql
- Sqlserver修改線上表的表欄位型別SQLServer型別
- 改變表中非空欄位的型別型別
- MySQL把字串欄位轉換為日期型別進行比較MySql字串型別
- 地理位置經緯度在Mysql中用什麼欄位型別MySql型別
- Mysql varchar型別欄位為什麼經常定義為255MySql型別
- MySQL中欄位型別與合理的選擇欄位型別;int(11)最大長度是多少?varchar最大長度是多少?MySql型別
- 保留兩位小數:資料庫欄位型別NUMBER,Java欄位型別Double型別資料庫型別Java
- mysql修改表、欄位、庫的字符集MySql
- 更改MySql表和欄位區分大小寫MySql
- 【MySql】mysql 欄位個數的限制MySql
- MySQL 欄位約束MySql
- mysql中文欄位排序MySql排序
- MySQL:count(*) count(欄位) 實現上區別MySql
- Mysql 在LONGTEXT欄位上作like操作的消耗;MySql
- MySQL之資料庫和表的基本操作(建立表、刪除表、向表中新增欄位)MySql資料庫
- MySQL-修改欄位型別、設定預設值,以及新增註釋MySql型別
- MySQL JSON資料型別操作MySqlJSON資料型別