Mysql資料欄位操作
假設(shè)我們存在user表,user結(jié)構(gòu)如下:
mysql> desc user;
+----------+---------------+------+-----+--------- +-------+
?| Field ? ?| Type ? ? ? ? ?| Null | Key | Default | Extra |
+----------+---------------+------+-----+--------- +-------+
?| username ? | varchar(10) ? | YES ?| ? ? | NULL ? ?| ? ? |
?| password ? | varchar(32) ? | YES ?| ? ? | NULL ? ?| ? ? |
?| createtime | int(10) ? ? ? | YES ?| ? ? | NULL ? ?| ? ? |
?| createip ? | int(10) ? ? ? | YES ?| ? ? | NULL ? ?| ? ? |
+----------+---------------+------+-----+--------- +-------+
4 rows in set (0.01 sec)
修改表格欄位類型modify
詳細解示 | |
---|---|
alter table 表名modify 欄位名稱varchar(20); | |
alter table user modify username varchar(20); | |
將user表的username的型別改為varchar(20) |
mysql> alter table user modify username varchar(20);增加表格欄位?Query OK, 0 rows affected (0.48 sec)
mysql> desc user;
?Records: 0 ?Duplicates: 0 ?Warnings: 0+----------+---------------+------+-----+--------- +-------+
?| Field ? ?| Type ? ? ? ? ?| Null | Key | Default | Extra |
+----------+---------------+------+-----+--------- +-------+
?| username ? | varchar(20) ? | YES ?| ? ? | NULL ? ?| ? ? |
?| password ? | varchar(32) ? | YES ?| ? ? | NULL ? ?| ? ? |
?| createtime | int(10) ? ? ? | YES ?| ? ? | NULL ? ?| ? ? |
?| createip ? | int(10) ? ? ? | YES ?| ? ? | NULL ? ?| ? ? |
+----------+---------------+------+-----+--------- +-------+
4 rows in set (0.01 sec)
#詳細解示 | |
---|---|
mysql> alter table emp add column age int(3);
?Query OK, 0 rows affected (0.40 sec)
?Records: 0 ?Duplicates: 0 ?Warnings: 0mysql> desc user;
+----------+---------------+------+-----+--------- +-------+
?| Field ? ?| Type ? ? ? ? ?| Null | Key | Default | Extra |
+----------+---------------+------+-----+--------- +-------+
?| username ? | varchar(20) ? | YES ?| ? ? | NULL ? ?| ? ? |
?| password ? | varchar(32) ? | YES ?| ? ? | NULL ? ?| ? ? |
?| createtime | int(10) ? ? ? | YES ?| ? ? | NULL ? ?| ? ? |
?| createip ? | int(10) ? ? ? | YES ?| ? ? | NULL ? ?| ? ? |
?| age ? ? ? ?| int(3) ? ? ? ?| YES ?| ? ? | NULL ? ?| ? ? |
+----------+---------------+------+-----+--------- +-------+
?5 rows in set (0.00 sec)
增加欄位時控製欄位順序
我們剛剛學(xué)會增加欄位。如果你仔細實驗發(fā)現(xiàn)每次都是增加在最後面,如何在第一個增加或指字字段之後增加呢?
類別 | 詳細解示 |
---|---|
基本語法 | #ALTER TABLE 表名ADD 欄位名字段類型AFTER 欄位名稱; |
#範(fàn)例 | ALTER TABLE user ADD email VARCHAR(60) AFTER createip; |
範(fàn)例說明 | user表中,createip後增加一個欄位為email,類型為varchar,長度為60 |
詳細解示 | |
---|---|
##ALTER TABLE 表格名稱ADD欄位名字段類型; | |
ALTER TABLE user ADD id INT(10) FIRST; | |
user表中在最開始的位置增加一個欄位為id,型別為int,長度為10 |
類別 | #詳細解示 |
---|---|
基本語法 | alter table 表名drop column 欄位名稱; |
範(fàn)例 | alter table user drop columnage; |
範(fàn)例說明 | 在user表中刪除欄位age |
mysql> alter table user drop column age;
?Query OK, 0 rows affected (0.27 sec)
?Records: 0 ?Duplicates: 0 ?Warnings: 0mysql> desc user;
+----------+---------------+------+-----+--------- +-------+
?| Field ? ?| Type ? ? ? ? ?| Null | Key | Default | Extra |
+----------+---------------+------+-----+--------- +-------+
?| username ? | varchar(20) ? | YES ?| ? ? | NULL ? ?| ? ? |
?| password ? | varchar(32) ? | YES ?| ? ? | NULL ? ?| ? ? |
?| createtime | int(10) ? ? ? | YES ?| ? ? | NULL ? ?| ? ? |
?| createip ? | int(10) ? ? ? | YES ?| ? ? | NULL ? ?| ? ? |
?| email ? ? ?| varchar(60) ? | YES ?| ? ? | NULL ? ?| ? ? |
+----------+---------------+------+-----+--------- +-------+
5 rows in set (0.00 sec)
表格欄位改名
詳細解示 | |
---|---|
#基本語法 | alter table 表名change 欄位原始名稱段新名字段類型; |
範(fàn)例 | alter table user change email em varchar(60); |
#範(fàn)例說明 | 在user表中將欄位中的email欄位名稱為em |
詳細範(fàn)例:
mysql> alter table user change email em varchar(60);
Query OK, 0 rows affected (0.38 sec)
Records: 0 ?Duplicates: 0 ?Warnings: 0 ?Warnings: 0 ?Warnings: 0 ?Warnings: 0 ?Warnings: 0 ?Warnings: 0 ?Warnings: 0 ?Warnings: 0 ?Warnings: 0 ?Warnings: 0 ?Warnings: 0 ?Warnings: 0 ?Warnings: 0 ?Warnings: 0.
mysql> desc user;
+----------+---------------+------+-----+--------- +-------+
?| Field ? ?| Type ? ? ? ? ?| Null | Key | Default | Extra |
+----------+---------------+------+-----+--------- +-------+
?| username ? | varchar(20) ? | YES ?| ? ? | NULL ? ?| ? ? |
?| password ? | varchar(32) ? | YES ?| ? ? | NULL ? ?| ? ? |
?| createtime | int(10) ? ? ? | YES ?| ? ? | NULL ? ?| ? ? |
?| createip ? | int(10) ? ? ? | YES ?| ? ? | NULL ? ?| ? ? |
?| em ? ? ? ? | varchar(60) ? | YES ?| ? ? | NULL ? ?| ? ? |
+----------+---------------+------+-----+--------- +-------+
5 rows in set (0.00 sec)
修改表格欄位排列順序
在前的欄位增加和修改語句(add/change/modify)中,最後都可以加一個可選項first|after。
增加表格欄位時我們已經(jīng)學(xué)過如何調(diào)整順序。我們現(xiàn)在在來看看另外的change或modify如何來調(diào)整順序。
我們用first做個小實驗。
使用modify調(diào)整順序
mysql> alter table user modify em varchar(60) first;
?Query OK, 0 rows affected (0.41 sec)
?Records: 0 ?Duplicates: 0 ?Warnings: 0mysql> desc user;
+----------+---------------+------+-----+--------- +-------+
?| Field ? ?| Type ? ? ? ? ?| Null | Key | Default | Extra |
+----------+---------------+------+-----+--------- +-------+
?| em ? ? ? ? | varchar(60) ? | YES ?| ? ? | NULL ? ?| ? ? |
?| username ? | varchar(20) ? | YES ?| ? ? | NULL ? ?| ? ? |
?| password ? | varchar(32) ? | YES ?| ? ? | NULL ? ?| ? ? |
?| createtime | int(10) ? ? ? | YES ?| ? ? | NULL ? ?| ? ? |
?| createip ? | int(10) ? ? ? | YES ?| ? ? | NULL ? ?| ? ? |
+----------+---------------+------+-----+--------- +-------+
?5 rows in set (0.00 sec)
修改表名
#詳細解示 | |
---|---|
基本語法 | alter table 舊表名rename 新的表名; |
範(fàn)例 | alter table user rename new_user; |
範(fàn)例說明 | 將user表名改為new_user |
繼續(xù)學(xué)習(xí)mysql> alter table user rename new_user;
?Query OK, 0 rows affected (0.35 sec)mysql> desc new_user;
+----------+---------------+------+-----+--------- +-------+
?| Field ? ?| Type ? ? ? ? ?| Null | Key | Default | Extra |
+----------+---------------+------+-----+--------- +-------+
?| em ? ? ? ? | varchar(60) ? | YES ?| ? ? | NULL ? ?| ? ? |
?| username ? | varchar(20) ? | YES ?| ? ? | NULL ? ?| ? ? |
?| password ? | varchar(32) ? | YES ?| ? ? | NULL ? ?| ? ? |
?| createtime | int(10) ? ? ? | YES ?| ? ? | NULL ? ?| ? ? |
?| createip ? | int(10) ? ? ? | YES ?| ? ? | NULL ? ?| ? ? |
+----------+---------------+------+-----+--------- +-------+
?5 rows in set (0.00 sec)
- 課程推薦
- 課件下載
-
初級php入門教程之一週學(xué)會PHP
462501人在看 -
初級PHP入門影片教學(xué)一週學(xué)會PHP
260270人在看 -
初級PHP快速入門免費教學(xué)課程
49619人在看 -
初級PHP上傳檔案—入門到實戰(zhàn)系列必學(xué)教程
10936人在看 -
初級XSL-FO 教程
8747人在看 -
初級jQuery中文參考手冊
34649人在看 -
初級MongoDB 教學(xué)課程
25429人在看 -
初級Scala教程
13770人在看 -
初級CSS 線上手冊
82280人在看 -
初級SVG 教程
13144人在看 -
初級AngularJS中文參考手冊
24589人在看 -
初級Go語言教程手冊
27446人在看
看過本課程的同學(xué)也在學(xué)習(xí)