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
詳細(xì)解示 | |
---|---|
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)
#詳細(xì)解示 | |
---|---|
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)
增加欄位時(shí)控製欄位順序
我們剛剛學(xué)會(huì)增加欄位。如果你仔細(xì)實(shí)驗(yàn)發(fā)現(xiàn)每次都是增加在最後面,如何在第一個(gè)增加或指字字段之後增加呢?
類別 | 詳細(xì)解示 |
---|---|
基本語法 | #ALTER TABLE 表名ADD 欄位名字段類型AFTER 欄位名稱; |
#範(fàn)例 | ALTER TABLE user ADD email VARCHAR(60) AFTER createip; |
範(fàn)例說明 | user表中,createip後增加一個(gè)欄位為email,類型為varchar,長度為60 |
詳細(xì)解示 | |
---|---|
##ALTER TABLE 表格名稱ADD欄位名字段類型; | |
ALTER TABLE user ADD id INT(10) FIRST; | |
user表中在最開始的位置增加一個(gè)欄位為id,型別為int,長度為10 |
類別 | #詳細(xì)解示 |
---|---|
基本語法 | 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)
表格欄位改名
詳細(xì)解示 | |
---|---|
#基本語法 | alter table 表名change 欄位原始名稱段新名字段類型; |
範(fàn)例 | alter table user change email em varchar(60); |
#範(fàn)例說明 | 在user表中將欄位中的email欄位名稱為em |
詳細(xì)範(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)中,最後都可以加一個(gè)可選項(xiàng)first|after。
增加表格欄位時(shí)我們已經(jīng)學(xué)過如何調(diào)整順序。我們現(xiàn)在在來看看另外的change或modify如何來調(diào)整順序。
我們用first做個(gè)小實(shí)驗(yàn)。
使用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)
修改表名
#詳細(xì)解示 | |
---|---|
基本語法 | 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)
- 課程推薦
- 課件下載
-
初級(jí)php入門教程之一週學(xué)會(huì)PHP
462431人在看 -
初級(jí)PHP入門影片教學(xué)一週學(xué)會(huì)PHP
260248人在看 -
初級(jí)PHP快速入門免費(fèi)教學(xué)課程
49610人在看 -
初級(jí)PHP上傳檔案—入門到實(shí)戰(zhàn)系列必學(xué)教程
10928人在看 -
初級(jí)XSL-FO 教程
8738人在看 -
初級(jí)jQuery中文參考手冊(cè)
34642人在看 -
初級(jí)MongoDB 教學(xué)課程
25418人在看 -
初級(jí)Scala教程
13739人在看 -
初級(jí)CSS 線上手冊(cè)
82248人在看 -
初級(jí)SVG 教程
13130人在看 -
初級(jí)AngularJS中文參考手冊(cè)
24573人在看 -
初級(jí)Go語言教程手冊(cè)
27434人在看
看過本課程的同學(xué)也在學(xué)習(xí)
- 簡(jiǎn)單聊聊PHP創(chuàng)業(yè)那點(diǎn)事
- Web前端開發(fā)極速入門
- 大型實(shí)戰(zhàn)天龍八部之開發(fā)Mini版MVC架構(gòu)仿糗事百科網(wǎng)站
- PHP實(shí)戰(zhàn)開發(fā)極速入門: PHP快速創(chuàng)建[小型商業(yè)論壇]
- 登入驗(yàn)證與經(jīng)典留言板
- 電腦網(wǎng)路知識(shí)集合
- 快速入門Node.JS全套完整版
- 最懂你的大前端課:HTML5/CSS3/ES6/NPM/Vue/...【原文】
- 自己動(dòng)手寫 PHP MVC 框架(40節(jié)精講/鉅細(xì)/新人進(jìn)階必看)