`

mysql中修改表的命令

阅读更多

在数据库操作中,个人觉得使用得最多的就是查询,然后就是对表的修改操作了,尤其是当数据库的设计工作没有做好时.下面就MySQL中一些常用的修改表的操作进行总结:

    为了方便后面的说明,先创建一个表,创建语句如下:

Create Table member(

    id Int(3),

    name Varchar(8),

    pass Varchar(25)

);


1.向表member中增加一个新列email,MySQL语句如下:

  Alter Table member Add email Varchar(50) Not Null;

  Describe member;

+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(3)      | YES  |     | NULL    |       |
| name  | varchar(8)  | YES  |     | NULL    |       |
| pass  | varchar(8)  | YES  |     | NULL    |       |
| email | varchar(50) | NO   |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)


2.向表member中添加一个新的主键id,MySQL语句如下:

  Alter Table member Add Primary Key(id);

  Describe member;

+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(3)      | NO   | PRI | 0       |       |
| name  | varchar(8)  | YES  |     | NULL    |       |
| pass  | varchar(8)  | YES  |     | NULL    |       |
| email | varchar(50) | NO   |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)


3.修改已存在字段id的名字和类型,MySQL语句如下:

  Alter Table member Change id mid Int(8) Auto_Increment Unique;

  Describe member;

+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| mid   | int(8)      | NO   | PRI | NULL    | auto_increment |
| name  | varchar(8)  | YES  |     | NULL    |                |
| pass  | varchar(8)  | YES  |     | NULL    |                |
| email | varchar(50) | NO   |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

说明:修改字段类型时,MySQL中也可以将Change更改为Modify,两者的区别在于:Change要求在修改表时指定旧的的新的字段名,而Modify则只是修改相应字段的类型,但不更改该字段的名字.如下所示:

  Alter Table member Change id id Int(8) Auto_Increment Unique;

  Alter Table member Modify id Int(8) Auto_Increment Unique;


4.删除字段键pass,MySQL语句如下:

  Alter Table member Drop pass;

  Describe member;

+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| mid   | int(8)      | NO   | PRI | NULL    | auto_increment |
| name  | varchar(8)  | YES  |     | NULL    |                |
| email | varchar(50) | NO   |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)


5.将表member重新命名为memb,使用MySQL语句如下:

  Alter Table member Rename To memb


6.可以使用Alter Table命令的First和After子句控制字段的位置,在mid字段后增加一个status字段的MySQL语句如下:

  Alter Table memb Add status Int(2) After mid;

  Describe memb;

+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| mid    | int(8)      | NO   | PRI | NULL    | auto_increment |
| status | int(2)      | YES  |     | NULL    |                |
| name   | varchar(8)  | YES  |     | NULL    |                |
| email  | varchar(50) | NO   |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)


7.使用Set Default和Drop Default子句为一个字段设置及删除默认值,将status的默认值设为1的MySQL语句如下:

  Alter Table memb Alter status Set Default 1;

  Describe memb;
+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| mid    | int(8)      | NO   | PRI | NULL    | auto_increment |
| status | int(2)      | YES  |     | 1       |                |
| name   | varchar(8)  | YES  |     | NULL    |                |
| email  | varchar(50) | NO   |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)


8.使用Add Foreign Key子句向表添加外键参照.由于前面仅创建了一张表,故无法给出修改后的结果.假设还有一张表book,则可使用以下MySQL语句将book中的字段id作为一个外键加到gememb中:

  Alter Table memb Add Foreign Key(bookId) References book(id);


9.在Alter Table命令中包含Add Index或者Drop Index子句添加或者删除索引.


10.在Alter Table命令中指定一个新的Type子句来更改表类型.将表memb改为InnoDB类型的MySQL语句如下:

  Alter Table memb Type = InnDB;


11.向一个表添加Unique键,如果这个包含重复的值,则可以通过包含Ignore从句来从表中删除在那个键上具有重复的所有记录,只保留第一条记录.将表memb中的字段email设为Unique,对email重复出现的只保留第一个记录的MySQL语句如下:

  Alter Ignore Table memb Modify email Varchar(50) Not Null Unique;

  Describe memb:

+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| mid    | int(8)      | NO   | PRI | NULL    | auto_increment |
| status | int(2)      | YES  |     | 1       |                |
| name   | varchar(8)  | YES  |     | NULL    |                |
| email  | varchar(50) | NO   | UNI | NULL    |                |
+--------+-------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

分享到:
评论

相关推荐

    Mysql命令大全 Mysql命令大全

    Mysql 命令大全是 Mysql 数据库管理系统中的一些常用命令的汇总,涵盖了连接 Mysql、修改密码、增加新用户、操作数据库等多方面的内容。下面是对这些命令的详细说明: 一、连接 Mysql 连接 Mysql 的基本格式为:...

    mysql常用操作命令

    本文将对mysql的常用操作命令进行总结,包括连接mysql、查询版本信息、查询当前日期、查询服务器中的所有数据库、使用指定数据库、查询当前所操作的数据库名称、创建新数据库、删除数据库、创建表、显示数据库中的...

    整理了以下四种在MySQL中修改root密码的方法

    使用 UPDATE 命令可以直接修改 user 表中的密码。具体操作步骤如下: 1. 打开 MySQL 命令行客户端,输入以下命令以连接到 MySQL 服务器:`mysql -u root` 2. 输入以下命令以选择 mysql 数据库:`use mysql;` 3. ...

    CentOS MySQL启动和关闭命令

    - **命令效果**:成功执行后,MySQL服务将在后台运行,并监听默认端口3306(可通过配置文件修改)。 ##### 2. 常见问题及解决方法 - **问题1**:如果执行启动命令后出现错误提示,首先检查MySQL的安装路径是否正确...

    在Linux中修改MySQL数据文件存放位置

    使用命令 `vim /etc/my.cnf` 编辑配置文件,并将 `[mysql]` 和 `[mysqld]` 部分中的 `socket` 和 `datadir` 修改到新的位置。 4. 创建链接 使用命令 `ln -s /mysqldata/mysql/mysql.sock /var/lib/mysql/mysql....

    mysql alter table命令修改表结构实例

     实例一:使用ALTER TABLE命令向表中添加字段、修改字段类型以及设置主键。 首先创建一个表,SQL语句如下: mysql> CREATE TABLE myTable( -> ID SMALLINT -> ); 使用desc命令查看表结构: mysql> desc ...

    MySQL导入.sql文件及常用命令

    MySQL 中有多种方式可以导入.sql 文件,并且提供了许多常用命令来管理和维护数据库。 一、导入.sql 文件 在 MySQL 中,可以使用 `source` 命令来导入.sql 文件。例如,假设我们有一个名为 `db.sql` 的.sql 文件,...

    常用mysql命令大全_mysql快速上手

    要显示表 mysql 数据库中 user 表的列信息,可以使用以下命令:`describe user` 这篇文章提供了一个非常实用的 MySQL 命令大全,涵盖了连接 MySQL、修改密码、增加新用户、数据库操作等方面的知识点,对于 MySQL ...

    mysql数据库常用命令汇总

    本文汇总了MySQL数据库常用的命令,包括数据库操作、表操作和数据操作三部分。 数据库操作 1. 数据库验证连接:使用mysql.exe命令连接到数据库,需要指定主机地址、端口号、用户名和密码,例如:`mysql.exe -h ...

    MySQL数据库管理常用命令

    导读:MySQL数据库管理常用命令。 安装利用RPM包安装Mysql,设置TCP 3306端口的iptables。 root密码管理设置root用户的密码mysqladmin -uroot password 'password'。 修改root用户的密码mysqladmin -uroot -p ...

    修改mysql版本为5.7

    本文将详细介绍如何在 Windows 系统下将 PHPStudy 中的 MySQL 版本修改为 5.7。 #### 步骤详解 **第一步:准备新版本的 MySQL 安装包** - 首先,访问 MySQL 官方下载页面(例如:...

    mysql命令大全.docx

    例如,要将 student 数据表中的所有数据的 age 字段修改为 21,可以使用以下命令:update student set age = 21; ### 4. 删除数据 使用 delete 命令可以删除数据表中的数据。例如,要删除 student 数据表中的所有...

    MySQL 查看并修改默认端口号

    在Linux中,可能需要编辑`/etc/init.d/mysql`脚本或使用`systemctl edit`命令。 此外,如果你的MySQL服务器是远程访问的,还需要确保防火墙设置允许新端口号的通信。同时,如果你有其他应用程序依赖于MySQL的默认...

    修改Mysql的root密码方法

    如果当前root用户密码已知,那么可以直接通过登录MySQL后执行相应的密码修改命令。但如果忘记了root用户的密码或者密码被误设为不可用状态,则需要采用下面的方法来重置密码。 #### 步骤详解 1. **停止MySQL服务**...

    mysql命令大全,mysql5命令大全

    ### MySQL 命令大全与操作技巧 #### 连接 MySQL 服务器 1. **本地连接**:在 DOS 环境下,可以使用 `mysql` 命令...以上是 MySQL 中一些常用的命令及其应用场景。通过这些命令,可以有效地管理数据库及进行数据操作。

    操作mysql数据库的常用命令总结

    4. **显示命令**:在MySQL命令行中,可以使用`\h`(帮助)命令查看所有可用的MySQL命令和选项。 5. **导入文本数据**:使用`LOAD DATA INFILE`命令可以将文本文件的数据快速导入到数据库表中。例如,将文件'data....

    修改MySQL数据库中表和表中字段的编码方式的方法

    以下我们将详细讨论如何修改MySQL中的表和字段的编码方式。 首先,让我们了解一些基本概念: 1. **字符集(Character Set)**:定义了一组字符及其在计算机内存中的表示方式。例如,`latin1`是西欧字符集,`utf8`是...

Global site tag (gtag.js) - Google Analytics