当前位置: 首页 > article >正文

MySQL——表操作

目录

一、创建表

二、查看表

2.1 查看表中某成员的数据

2.2 查看整个表中的表成员

2.3 查看创建表时的句柄

三、修改表 alter

3.1 重命名 rename

3.2 新增一列 add

3.3 更改列属性 modify

3.4 更改列名称 change

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 列名;

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

原文地址:https://blog.csdn.net/m0_75186846/article/details/142032806
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/297001.html

相关文章:

  • 【AI绘画】Midjourney之Lighting详解
  • C语言典型例题60
  • GitLab安装流程及日常使用流程
  • MVC(Model-View-Controller)和MVVM(Model-View-ViewModel)
  • 五、LogicFlow 创建自定义节点并实现节点拖拽
  • 家里有猫用宠物空气净化器有用吗?希喂、米家、有哈哪款更好
  • 网络安全基础
  • Python写入本地数据库与excel表参考模板(根据情况进行调整)
  • 《JavaEE进阶》----13.<Spring Boot【配置文件】>
  • 大奖收割机!望繁信科技荣获年度技术创新和应用品牌奖
  • 移动硬盘无法访问怎么修复?
  • 拥抱 VSCode:你的前端开发利器!
  • 大模型微调训练营毕业总结
  • 【HarmonyOS】- HAR与HSP区别及使用原则
  • NLP从零开始------文本中阶处理之序列到序列模型(完整版)
  • 计算机专业选题推荐-基于python的岗位兼职招聘平台【python-爬虫-大数据定制】
  • liunx io模型多路复用
  • 果然,秋招会惩罚每一个本末倒置的应届生
  • 启动与登录Mysql
  • JS_对象的创建