亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mysql數(shù)據(jù)庫表增添字段,刪除字段,修改字段的排列等操作

 更新時間:2022年07月26日 11:53:29   作者:公號運維家???????  
這篇文章主要介紹了mysql數(shù)據(jù)庫表增添字段,刪除字段,修改字段的排列等操作,修改表指的是修改數(shù)據(jù)庫之后中已經(jīng)存在的數(shù)據(jù)表的結構

修改表指的是修改數(shù)據(jù)庫之后中已經(jīng)存在的數(shù)據(jù)表的結構。??mysql???使用??alter table??語句修改表。常用的修改表的操作有修改表名、修改字段數(shù)據(jù)類型或者字段名、增加和刪除字段、修改字段的排列位置、更改表的存儲引擎、刪除表的外鍵約束等。

一、mysql修改表名

語法:

ALTER TABLE <舊表名> RENAME [to] <新表名>

上面語句中的??to??為可選,存在與否不影響運行結果。

舉個栗子:

將??test_user_2???這個數(shù)據(jù)表,改名為??test_user_two??;

首先我們查看下原來的內容;

mysql> show tables;
+-------------------+
| Tables_in_test_db |
+-------------------+
| test_dept |
| test_user |
| test_user_2 |
| test_user_3 |
| test_user_4 |
| test_user_5 |
| test_user_6 |
| test_user_7 |
| test_user_8 |
| test_user_9 |
+-------------------+
10 rows in set (0.00 sec)

mysql>

然后我們執(zhí)行語句:

mysql> alter table test_user_2 rename test_user_two;
Query OK, 0 rows affected (0.03 sec)

mysql>

然后再看下是否修改完畢了;

mysql> show tables;
+-------------------+
| Tables_in_test_db |
+-------------------+
| test_dept |
| test_user |
| test_user_3 |
| test_user_4 |
| test_user_5 |
| test_user_6 |
| test_user_7 |
| test_user_8 |
| test_user_9 |
| test_user_two |
+-------------------+
10 rows in set (0.00 sec)

mysql>

注意:修改的只是數(shù)據(jù)表名,實際上字段和數(shù)據(jù)內容都沒有發(fā)生變化。

二、mysql修改數(shù)據(jù)的字段類型

修改字段的數(shù)據(jù)類型,就是把字段的數(shù)據(jù)類型轉換成另一種數(shù)據(jù)類型。

語法:

alter table <表名> modify <字段名> <數(shù)據(jù)類型>

舉個栗子:

修改??test_user_two???這個表中的??money???字段的數(shù)據(jù)類型,由??float???改為??int??類型。

首先看下這個表中的數(shù)據(jù)結構;

mysql> desc test_user_two;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int | NO | PRI | NULL | |
| name | varchar(25) | YES | | NULL | |
| deptid | int | YES | | NULL | |
| money | float | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

mysql>

然后執(zhí)行如下語句進行修改;

mysql> alter table test_user_two modify money int;
Query OK, 0 rows affected (0.09 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql>

修改完畢之后我們再看下??test_user_db??這個表中的數(shù)據(jù)結構是否發(fā)生變化了。

mysql> desc test_user_two;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int | NO | PRI | NULL | |
| name | varchar(25) | YES | | NULL | |
| deptid | int | YES | | NULL | |
| money | int | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

mysql>

三、mysql修改字段名

語法:

alter table <表名> change <舊字段名> <新字段名> <新數(shù)據(jù)類型>;

舉個栗子:

將??test_user_two???表中的??money???字段改成??howmoney???,數(shù)據(jù)類型為??int??;

執(zhí)行語句:

mysql> alter table test_user_two change money howmoney int;
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql>

然后我們再看下此時這個??test_user_two??數(shù)據(jù)庫的數(shù)據(jù)結構是什么;

mysql> desc test_user_two;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int | NO | PRI | NULL | |
| name | varchar(25) | YES | | NULL | |
| deptid | int | YES | | NULL | |
| howmoney | int | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

mysql>

可以看到,已經(jīng)將字段修改完畢了。

四、mysql添加字段

語法:

alter table <表名> add <新字段名> <數(shù)據(jù)類型> [約束條件] [first | after 已存在字段名]

新字段名為需要添加的字段的名稱;??first???為可選參數(shù),其作用是將新添加的字段設置為表的第一個字段;??after??為可選參數(shù),其作用是將新添加的字段添加到指定的“已存在字段名” 的后面。

??first???或??after 已存在字段名???用于指定新增字段在表中的位置,如果??SQL??語句中沒有這兩個參數(shù),則默認將新添加的字段設置為數(shù)據(jù)表的最后一列。

舉幾個栗子:

1、添加沒有約束性的字段

在數(shù)據(jù)表??test_user_two???中添加一個沒有完整性約束的??int???類型的字段??year??(入職幾年);

執(zhí)行??sql??如下:

mysql> alter table test_user_two add year int;
Query OK, 0 rows affected (0.04 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql>

然后我們查看下修改之后的表結構;

mysql> desc test_user_two;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int | NO | PRI | NULL | |
| name | varchar(25) | YES | | NULL | |
| deptid | int | YES | | NULL | |
| howmoney | int | YES | | NULL | |
| year | int | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

mysql>

2、添加一個有約束性的字段

在??test_user_two???表中添加一個名為??year1???,數(shù)據(jù)類型是??int??,且不可為空的字段;

執(zhí)行相關??sql??語句;

mysql> alter table test_user_two add year1 int not null;
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql>

看下表結構;

mysql> desc test_user_two;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int | NO | PRI | NULL | |
| name | varchar(25) | YES | | NULL | |
| deptid | int | YES | | NULL | |
| howmoney | int | YES | | NULL | |
| year | int | YES | | NULL | |
| year1 | int | NO | | NULL | |
+----------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

mysql>

3、在表的第一列添加一個字段

在??test_user_two???數(shù)據(jù)表第一列添加一個名字??year2???,數(shù)據(jù)類型是??int??的字段。

執(zhí)行相關??sql??語句;

mysql> alter table test_user_two add year2 int first;
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql>

看下修改之后的表結構是什么;

mysql> desc test_user_two;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| year2 | int | YES | | NULL | |
| id | int | NO | PRI | NULL | |
| name | varchar(25) | YES | | NULL | |
| deptid | int | YES | | NULL | |
| howmoney | int | YES | | NULL | |
| year | int | YES | | NULL | |
| year1 | int | NO | | NULL | |
+----------+-------------+------+-----+---------+-------+
7 rows in set (0.00 sec)

mysql>

4、在數(shù)據(jù)表中指定列之后添加一個字段

在??test_user_two???這個數(shù)據(jù)庫中??name???字段之后,添加一個名為??name2???,數(shù)據(jù)類型是??varchar(50)??的字段;

執(zhí)行??sql??語句;

mysql> alter table test_user_two add name2 varchar(50) after name;
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql>

可以再次看下表結構;

mysql> desc test_user_two;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| year2 | int | YES | | NULL | |
| id | int | NO | PRI | NULL | |
| name | varchar(25) | YES | | NULL | |
| name2 | varchar(50) | YES | | NULL | |
| deptid | int | YES | | NULL | |
| howmoney | int | YES | | NULL | |
| year | int | YES | | NULL | |
| year1 | int | NO | | NULL | |
+----------+-------------+------+-----+---------+-------+
8 rows in set (0.00 sec)

mysql>

可以看到,每次我們都會對這個表結構進行相關的修改。

五、mysql刪除字段

語法:

alter table <表名> drop <字段名>;

舉個栗子;

比如我們想將??test_user_two???數(shù)據(jù)庫中剛添加的??year2??字段刪除;

執(zhí)行??sql??語句為:

看下表結構;

mysql> desc test_user_two;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int | NO | PRI | NULL | |
| name | varchar(25) | YES | | NULL | |
| name2 | varchar(50) | YES | | NULL | |
| deptid | int | YES | | NULL | |
| howmoney | int | YES | | NULL | |
| year | int | YES | | NULL | |
| year1 | int | NO | | NULL | |
+----------+-------------+------+-----+---------+-------+
7 rows in set (0.00 sec)

mysql>

可以看到已經(jīng)將名為??year2??的字段進行刪除了。

六、mysql修改字段的排列位置

有時候我們會面臨修改數(shù)據(jù)表中某些字段的排列位置,比如說將某一個字段排到第一個,或者是將某個字段后移,看下如何操作。

語法:

alter table <表名> modify <字段1> <數(shù)據(jù)類型> first | after <字段2>;

“字段1” 指要修改位置的字段;“數(shù)據(jù)類型” 指 “字段1” 的數(shù)據(jù)類型;“??First???” 為可選參數(shù),指將 “字段1” 修改為表的第一個字段;“??after?? 字段2” 指將 “字段1” 插入到 “字段2” 后面。

舉兩個栗子;

1、修改字段為表的第一個字段

比如我們將??test_user_two???這個數(shù)據(jù)表中名為??name2??的字段,修改成這個對應數(shù)據(jù)表中第一個字段;

執(zhí)行??sql??語句;

mysql> alter table test_user_two modify name2 varchar(50) first;
Query OK, 0 rows affected (0.08 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql>

查看下表結構;

mysql> desc test_user_two;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| name2 | varchar(50) | YES | | NULL | |
| id | int | NO | PRI | NULL | |
| name | varchar(25) | YES | | NULL | |
| deptid | int | YES | | NULL | |
| howmoney | int | YES | | NULL | |
| year | int | YES | | NULL | |
| year1 | int | NO | | NULL | |
+----------+-------------+------+-----+---------+-------+
7 rows in set (0.00 sec)

mysql>

可以看到我們已經(jīng)成功將??name2??這個字段修改成第一個字段了;

2、修改字段為指定列后面

比如我們將??test_user_two???這個表中的??name2???字段,讓他移動到??year??這個字段后面;

執(zhí)行??sql??語句;

mysql> alter table test_user_two modify name2 varchar(50) after year;
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql>

看下表結構;

mysql> desc test_user_two;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int | NO | PRI | NULL | |
| name | varchar(25) | YES | | NULL | |
| deptid | int | YES | | NULL | |
| howmoney | int | YES | | NULL | |
| year | int | YES | | NULL | |
| name2 | varchar(50) | YES | | NULL | |
| year1 | int | NO | | NULL | |
+----------+-------------+------+-----+---------+-------+
7 rows in set (0.00 sec)

mysql>

可以發(fā)現(xiàn),已經(jīng)將??test_user_two???這個數(shù)據(jù)庫中的??name2???字段,移動到了??year??字段之后。

七、mysql更改表的存儲引擎

存儲引擎是??mysql???中的數(shù)據(jù)存儲在文件或者內存中時采用的不用技術實現(xiàn)??梢愿鶕?jù)自己所需,選擇不同的引擎,也可以為每一張表選擇不用的存儲引擎??梢允褂??show engines;??語句來查看系統(tǒng)支持的存儲引擎。

mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)

mysql>

更改表的存儲引擎的語法:

alter table <表名> engine=<更改后的存儲引擎名>

到此這篇關于mysql數(shù)據(jù)庫表增添字段,刪除字段,修改字段的排列等操作的文章就介紹到這了,更多相關mysql字段操作內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL 千萬級數(shù)據(jù)量如何快速分頁

    MySQL 千萬級數(shù)據(jù)量如何快速分頁

    這篇文章主要介紹了MySQL 千萬級數(shù)據(jù)量如何快速分頁,幫助大家提高MySQL數(shù)據(jù)庫的性能,感興趣的朋友可以了解下
    2020-09-09
  • 在win10系統(tǒng)下安裝Mysql 5.7.17圖文教程

    在win10系統(tǒng)下安裝Mysql 5.7.17圖文教程

    因為想要在公司電腦上安裝Mysql,于是到官網(wǎng)上下載了最新版本的Mysql-5.7.17,其實安裝方法也很簡單,下面小編把安裝過程分享到腳本之家平臺供大家參考
    2017-03-03
  • MAC下Mysql5.7.10版本修改root密碼的方法

    MAC下Mysql5.7.10版本修改root密碼的方法

    這篇文章主要介紹了MAC下Mysql5.7.10版本修改root密碼的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • MySQL 雙向備份的實現(xiàn)方法

    MySQL 雙向備份的實現(xiàn)方法

    這篇文章主要介紹了MySQL 雙向備份的實現(xiàn)方法,即兩個 MySQL 服務都是 Master,其中任意一個服務又是另一個服務的 Slave,感興趣的可以了解一下
    2019-04-04
  • MySQL 分頁查詢的優(yōu)化技巧

    MySQL 分頁查詢的優(yōu)化技巧

    這篇文章主要介紹了MySQL 分頁查詢的優(yōu)化技巧,幫助大家更好的理解和學習使用MySQL,感興趣的朋友可以了解下
    2021-05-05
  • MySQL創(chuàng)建全文索引分享

    MySQL創(chuàng)建全文索引分享

    使用索引是數(shù)據(jù)庫性能優(yōu)化的必備技能之一。在MySQL數(shù)據(jù)庫中,有四種索引:聚集索引(主鍵索引)、普通索引、唯一索引以及我們這里將要介紹的全文索引(FULLTEXT INDEX)
    2017-01-01
  • mysql中l(wèi)eft join設置條件在on與where時的用法區(qū)別分析

    mysql中l(wèi)eft join設置條件在on與where時的用法區(qū)別分析

    這篇文章主要介紹了mysql中l(wèi)eft join設置條件在on與where時的用法區(qū)別,結合實例形式分析了mysql中l(wèi)eft join設置條件在on與where時的相關用法區(qū)別與操作注意事項,需要的朋友可以參考下
    2020-02-02
  • MySQL 字符串拆分實例(無分隔符的字符串截取)

    MySQL 字符串拆分實例(無分隔符的字符串截取)

    這篇文章主要介紹了MySQL 字符串拆分實例(無分隔符的字符串截取),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 淺談MySQL數(shù)據(jù)同步到 Redis 緩存的幾種方法

    淺談MySQL數(shù)據(jù)同步到 Redis 緩存的幾種方法

    本文主要介紹了淺談MySQL數(shù)據(jù)同步到 Redis 緩存的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • Mysql:The user specified as a definer (''xxx@''%'') does not exist的解決方案

    Mysql:The user specified as a definer (''xxx@''%'') does not

    今天小編就為大家分享一篇關于Mysql:The user specified as a definer ('xxx@'%') does not exist的解決方案,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12

最新評論