MySQL——表操作

目录

一、创建表

二、查看表

[2.1 查看表中某成员的数据](#2.1 查看表中某成员的数据)

[2.2 查看整个表中的表成员](#2.2 查看整个表中的表成员)

[2.3 查看创建表时的句柄](#2.3 查看创建表时的句柄)

[三、修改表 alter](#三、修改表 alter)

[3.1 重命名 rename](#3.1 重命名 rename)

[3.2 新增一列 add](#3.2 新增一列 add)

[3.3 更改列属性 modify](#3.3 更改列属性 modify)

[3.4 更改列名称 change](#3.4 更改列名称 change)

[3.5 删除某列](#3.5 删除某列)


上一篇博客介绍了库的操作,接下来来看一下表的相关操作。

一、创建表

create table table_name (

field1 datatype,

field2 datatype,

field3 datatype

) character set 字符集 collate 校验规则 engine 存储引擎;

注意,最后一个数据成员后面没有逗号。

下面我们举例看一下如何创建表:

mysql> create table user1(

-> id int,

-> name varchar(20) comment '用户名',

-> password char(32) comment '用户密码',

-> birthday date comment '用户生日'

-> )character set utf8 collate utf8_general_ci engine MyIsam;

Query OK, 0 rows affected, 2 warnings (0.00 sec)
mysql> create table user2(

-> id int,

-> name varchar(20) comment '用户名',

-> password varchar(32) comment '用户密码',

-> birthday date comment '用户生日' ->

)charset=utf8 collate=utf8_general_ci engine=InnoDB;

Query OK, 0 rows affected, 2 warnings (0.04 sec)

对于字符集、校验集以及存储引擎的设置,以上两个例子中的方法都可以使用,可以直接使用空格,也可以使用 = 赋值。

二、查看表

2.1 查看表中某成员的数据

desc 表名;

关于查找到的信息,请看下图:

2.2 查看整个表中的表成员

show tables;

2.3 查看创建表时的句柄

show create table 表名 \G

\G 格式化显示,过滤掉不需要的符号

使用 \G 前:

使用 \G 后:

三、修改表 alter

3.1 重命名 rename

alter table tb_name rename to new_name;

在MySQL中对表进行重命名,输入以下语句:

mysql> alter table user1 rename to user;

Query OK, 0 rows affected (0.03 sec)

验证一下:

mysql> show tables;

+----------------------+

| Tables_in_helloworld |

+----------------------+

| user |

+----------------------+

1 row in set (0.00 sec)

可以看到 user1 真的被重命名为 user 了

3.2 新增一列 add

为了方便观察现象,先执行以下语句向表中插入两条数据:

mysql> insert into user values(1, '张三', '123456', '2010-06-18'), (2, '李四', '654321', '2014-07-12'); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0

alter table tb_name add 列名 数据类型 (comment '备注 ' after 某列名);

在某列后新增新列,括号中的内容可以省略

mysql> select * from user;
+------+--------+----------+------------+--------+
| id | name | password | birthday | school |
+------+--------+----------+------------+--------+
| 1 | 张三 | 123456 | 2010-06-18 | NULL |
| 2 | 李四 | 654321 | 2014-07-12 | NULL |
+------+--------+----------+------------+--------+
2 rows in set (0.00 sec)

可以看到,表中真的在 birthday 后新增了一列 school

3.3 更改列属性 modify

这里的列属性是列的数据类型与comment

alter table tb_name modify 列名 新属性 (comment '新备注');
将 `name` varchar(20) DEFAULT NULL COMMENT '用户名', 改为 varchar(32) 且不加 comment:

mysql> alter table user modify name varchar(32);

使用 show create table user 查看:

`name` varchar(32) DEFAULT NULL,

从上面的例子可以看出来,在修改之前,因为我们在 create 时,为 name 添加了 comment ,但是修改后仅仅更改了数据类型,并没有新添加 comment ,之后在查看时,发现 comment 的内容消失了,这意味着什么呢?

不难看出, modify 的修改是以新属性覆盖旧属性

3.4 更改列名称 change

alter table tb_name change 原列名 新列名 列属性;

将表中第一列的 id 改为 ID:

mysql> alter table user change id ID int;

前后使用 show create table user; 可以发现:

`id` int DEFAULT NULL, 被修改为了 `ID` int DEFAULT NULL 。

3.5 删除某列

alter table tb_name drop 列名;

这个比较简单,就不做样例说明了。

相关推荐
Cedric_Anik19 分钟前
MYSQL数据库基础篇——DDL
数据库·mysql
文牧之19 分钟前
PostgreSQL的walsender和walreceiver进程介绍
运维·数据库·postgresql
爬山算法21 分钟前
Oracle(121)如何进行数据文件的恢复?
数据库·oracle
咔咔学姐kk24 分钟前
2024最新版,人大赵鑫老师《大语言模型》新书pdf分享
数据库·人工智能·语言模型·自然语言处理·pdf·知识图谱·产品经理
青云交1 小时前
大数据新视界 --大数据大厂之MongoDB与大数据:灵活文档数据库的应用场景
大数据·数据库·mongodb·非关系型数据库·文档存储·查询功能、数据处理·开发效率、应用场景、高可扩展性
青云交1 小时前
大数据新视界 --大数据大厂之HBase深度探寻:大规模数据存储与查询的卓越方案
大数据·数据库·hbase·数据存储·性能优势、问题解决、应用领域·可扩展性、高可靠性·读写性能、集群管理
茜茜西西CeCe1 小时前
大数据处理技术:HBase的安装与基本操作
java·大数据·数据库·hbase·头歌·大数据处理技术
shangan_32 小时前
黑马十天精通MySQL知识点
数据库·mysql
Jasonakeke2 小时前
【重学 MySQL】三十一、字符串函数
数据库·mysql
GIS数据转换器2 小时前
跨界融合,GIS如何赋能游戏商业——以《黑神话:悟空》为例
大数据·数据库·人工智能·游戏·gis·智慧城市