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

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

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Django+Vue3前后端分离学习(二)(重写User类)
  • 代码随想录-- 二叉树 -- 二叉树的所有路径
  • 未来的去中心化网络:Web3与AI的深度融合探讨
  • 操作系统:线程实现方式
  • 最大时间
  • Open3D 四元数、欧拉角及旋转向量转旋转矩阵的方式
  • application/x-www-form-urlencoded与multipart/form-data与application/json的区别
  • 多态与接口(Golang)
  • 金融业开源技术 术语
  • 报错module ‘markdown‘ has no attribute ‘version‘解决方法
  • 网络包处理库Scapy: 计算checksum,csum
  • 米壳AI:分享一个轻松保存外网高清原视频的方法!
  • 微信企业微信忽然爆满 怎么清理才干净?一招彻底清理干净垃圾文件
  • 顶点照明渲染路径
  • Spring Boot 注解探秘:@Validated 开启数据验证之旅(上)
  • canvas绘制圆角头像
  • extjs4学习之配置
  • Go 语言编译器的 //go: 详解
  • LintCode 31. partitionArray 数组划分
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Python十分钟制作属于你自己的个性logo
  • yii2中session跨域名的问题
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 多线程 start 和 run 方法到底有什么区别?
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 如何设计一个微型分布式架构?
  • 听说你叫Java(二)–Servlet请求
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • ​ArcGIS Pro 如何批量删除字段
  • ​flutter 代码混淆
  • !!Dom4j 学习笔记
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #HarmonyOS:Web组件的使用
  • #nginx配置案例
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (C#)一个最简单的链表类
  • (阿里云万网)-域名注册购买实名流程
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (计算机网络)物理层
  • .NET Core 中插件式开发实现
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .Net IE10 _doPostBack 未定义
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET文档生成工具ADB使用图文教程
  • @WebService和@WebMethod注解的用法
  • [ linux ] linux 命令英文全称及解释
  • [ArcPy百科]第三节: Geometry信息中的空间参考解析
  • [C# WPF] 如何给控件添加边框(Border)?
  • [C][栈帧]详细讲解
  • [C++]C++基础知识概述
  • [Dxperience.8.*]报表预览控件PrintControl设置
  • [Effective C++读书笔记]0012_复制对象时勿忘其每一部分
  • [EULAR文摘] 利用蛋白组学技术开发一项蛋白评分用于预测TNFi疗效
  • [FlareOn5]Ultimate Minesweeper