前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MYSQL回顾(表操作相关)

MYSQL回顾(表操作相关)

作者头像
VV木公子
发布2020-02-18 17:11:41
5.3K0
发布2020-02-18 17:11:41
举报
文章被收录于专栏:TechBoxTechBox

数据库表的操作主要包括修改表名、查看表结构、添加字段、删除字段、修改字段类型、修改字段名、给表设置主键、设置自增长字段、删除表、清空表。下面会一一举例。

创建表

代码语言:javascript
复制
#最简单的方式:
mysql> create table stu(
    -> id int not null primary key,
    -> name varchar(20) default null
    -> );
Query OK, 0 rows affected (0.01 sec)

修改表名 rename

代码语言:javascript
复制
# 修改stu表名称为student
mysql> alter table stu rename student;
Query OK, 0 rows affected (0.01 sec)

mysql> show tables;
+-----------------+
| Tables_in_hello |
+-----------------+
| article         |
| student         |
+————————+

查看表结构 desc

代码语言:javascript
复制
mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   | PRI | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

添加字段 add

代码语言:javascript
复制
给student表添加班级(class)字段
mysql> alter table student add class varchar(20);
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

删除字段 drop

代码语言:javascript
复制
# 删除student表的班级(class)字段
mysql> alter table student drop class;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

修改字段类型 modify

代码语言:javascript
复制
# 修改student表的name类型为char(18)
mysql> alter table student modify name char(18);
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

给表设置主键 modify

代码语言:javascript
复制
mysql> alter table student modify id int(11) primary key;

修改字段名 change

代码语言:javascript
复制
# 修改student 表的name varchar(20)字段为name char(10)
mysql> alter table student change name name char(10);
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

复制表

代码语言:javascript
复制
# 复制stu表结构+记录
mysql> create table new_stu select * from stu;
Query OK, 7 rows affected (0.01 sec)
Records: 7  Duplicates: 0  Warnings: 0
代码语言:javascript
复制
# 只复制表结构
mysql> create table new_stu2 select * from stu  where 1=2;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

删除表

代码语言:javascript
复制
mysql> drop table new_student;
Query OK, 0 rows affected (0.01 sec)

设置自增长字段

代码语言:javascript
复制
mysql> alter table stu change id id int AUTO_INCREMENT;
Query OK, 7 rows affected (0.02 sec)
Records: 7  Duplicates: 0  Warnings: 0

清空表

注意:清空表不要使用delete,delete清空的表不会重置auto_increment,下次插入的记录的自增id不是从默认的自增id开始的。 通常delete 是和where语句配合使用删除固定条件的记录的 清空表需要使用truncate,truncate清空的表会重置自增起始偏移量

代码语言:javascript
复制
mysql> delete from stu;
mysql> show create table stu;
 CREATE TABLE `stu` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

清空表使用truncate,truncate清空的表会重置自增起始偏移量,验证如下:

代码语言:javascript
复制
mysql> truncate table stu;
Query OK, 0 rows affected (0.01 sec)

mysql> show create table stu;
 CREATE TABLE `stu` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

mysql> insert into stu(name) value("jack");
Query OK, 1 row affected (0.01 sec)

mysql> select * from stu;
+----+------+
| id | name |
+----+------+
|  1 | jack |
+----+------+
1 row in set (0.00 sec)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建表
  • 修改表名 rename
  • 查看表结构 desc
  • 添加字段 add
  • 删除字段 drop
  • 修改字段类型 modify
  • 给表设置主键 modify
  • 修改字段名 change
  • 复制表
  • 删除表
  • 设置自增长字段
  • 清空表
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档