【MySQL】数据库——表操作

文章目录

  • 1. 创建表
  • 2. 查看表
  • 3. 修改表
    • 修改表名
    • add ——增加
    • modify——修改
    • drop——删除
    • 修改列名称
  • 4. 删除表

1. 创建表

语法:
create table +表名字 (
列名称 列类型
) charset set 字符集 collate 校验规则 engine 存储引擎 ;

charset set字符集 ,若没有指定字符集,则以所在数据库的字符集为准
collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
默认采用 InnoDB 存储引擎


在终端1中,创建一个 user_db 数据库


在终端2中,进入 var/lib/mysql路径,此时存在一个user_db目录


在user_db数据库下 创建一个 user1表
内部包含成员 int类型的id 、 20字节的名字 、32字节 的用户密码 等
其中 comment 后面 跟 注释内容
同时规定字符集为 utf8、校验集为 utf8_general_ci 、 存储引擎为 MyIsam


在user_db数据库下 创建一个 user2表
内部包含成员 int类型的id 、 20字节的名字 、32字节 的用户密码 等
其中 comment 后面 跟 注释内容
同时规定字符集为 utf8、校验集为 utf8_general_ci 、 存储引擎为 InnoDB


在终端2中,进入 user_db目录中,发现user1表有三张,而user2表有两张
原因在于两者用了 不同的存储引擎

后缀为 frm 为 表结构
后缀为MYD 为 MyIsam 引擎的数据
后缀为MYI 为 MyIsam 引擎的索引文件
后缀为 ibd 为 InnoDB 引擎的数据


2. 查看表

输入 select database(); 确认在user_db数据库中


输入 show tables; 当前所在的数据库有几张表


输入 desc +表名; 指定查看表结构
如: desc user1; 指定查看user1表结构
desc 表示查看表的详细信息


输入 show create table +表名 即获取表的更详细信息


3. 修改表

ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
datatype]…);
ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column
datatype]…);
ALTER TABLE tablename DROP (column);
修改表共有三种 操作:ADD (增加) MODIFY (修改) DROP(删除)

修改表名

输入 alter table user1 rename to user; 即将user1表的名称 改为 user表


add ——增加

输入 show tables; 即当前看到有user表存在


向user表中分别插入 张三 和李四的信息


输入 select * from +表名; 查看表中的全部信息


输入 alter table user add image_path varchar(128) comment ‘用户头像路径’ after birthady;
在user表中添加一个字段,用于保存图片路径,并放在 birthday 后面
(comment 后面的 ’ '为注释内容)


再次输入 select * from user; 查看user表中的全部信息
由于张三和李四 没有 新添加的image_path 属性,所以默认为NULL

modify——修改

先输入 desc user; 查看user表的结构
发现name长度 为20字节


输入 alter table user modify name varchar(60); 即将user表中的name 长度修改为60字节
再次输入 desc user; 发现name长度已经被修改为60字节了


drop——删除

依旧先输入 select * from user; 获取user表的结构


输入 alter table user drop password; 即删除user表中的password列
输入 select * from user; 即获取user表的结构 发现确实password被删除了

修改列名称

想要修改列名称,就需要将该列的相关属性也都传过去 即 将这一列重新设置

想要修改name 变为 xingming ,就需要将对应的 字节大小也传过去
即 输入 alter table user change name xingming varchar(60);
再次查看发现确实将name变为 xingming 了

4. 删除表

在当前数据库中,存在一个user表
输入 drop table user; 将user表删除
再次查询当前数据库中,则没有表存在

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/166121.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++代码】二叉搜索树的最近公共祖先,二叉搜索树中的插入操作,删除二叉搜索树中的节点--代码随想录

题目:二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大&a…

小程序中如何使用自定义组件应用及搭建个人中心布局

一,自定义组件 从小程序基础库版本 1.6.3 开始,小程序支持简洁的组件化编程。所有自定义组件相关特性都需要基础库版本 1.6.3 或更高。 开发者可以将页面内的功能模块抽象成自定义组件,以便在不同的页面中重复使用;也可以将复杂的…

MSQL系列(四) Mysql实战-索引分析Explain命令详解

Mysql实战-索引分析Explain命令详解 前面我们讲解了索引的存储结构,我们知道了BTree的索引结构,也了解了索引最左侧匹配原则,到底最左侧匹配原则在我们的项目中有什么用?或者说有什么影响?今天我们来实战操作一下&…

Java并发面试题:(七)ThreadLocal原理和内存泄漏

ThreadLocal是什么? ThreadLocal是线程本地存储机制,可以将数据缓存在线程内部。ThreadLocal存储的变量在线程内共享的,在线程间又是隔离的。 ThreadLocal实现原理? ThreadLocal的底层是ThreadLocalMap,每个Thread都…

YOLOv5算法改进(16)— 增加小目标检测层 | 四头检测机制(包括代码+添加步骤+网络结构图)

前言:Hello大家好,我是小哥谈。小目标检测层是指在目标检测任务中用于检测小尺寸目标的特定网络层。由于小目标具有较小的尺寸和低分辨率,它们往往更加难以检测和定位。YOLOv5算法的检测速度与精度较为平衡,但是对于小目标的检测效果不佳,根据一些论文,我们可以通过增加检…

Kafka Tool(Kafka 可视化工具)安装及使用教程

Kafka Tool(Kafka 可视化工具)安装及使用教程 Kafka Tool 工具下载 下载地址 http://www.kafkatool.com/download.html 下载界面 不同版本的Kafka对应不同版本的工具,个人使用的是2.11,所以下载的是最新的2.0.8版本&#xff…

android 13/14高版本SurfaceFlinger出现VSYNC-app/VSYNC-appSf/VSYNC-sf剖析

问题背景: 了解surfaceflinger的vsync同学都可能知道vsync属于一个节拍器,主要用来控制有节奏的渲染,不至于会产生什么画面撕裂等现象。 一般vsync都有会有2部分: app部分vsync,控制各个app可以有节奏的上帧 surfacef…

PyQt学习笔记-获取Hash值的小工具

目录 一、概述1.1 版本信息:1.2 基本信息:1.2.1 软件支持的内容:1.2.2 支持的编码格式 1.3 软件界面图 二、代码实现2.1 View2.2 Controller2.3 Model 三、测试示例 一、概述 本工具居于hashlibPyQtQFileDialog写的小工具,主要是…

【Linux升级之路】8_Linux多线程

目录 一、【Linux初阶】多线程1 | 页表的索引作用,线程基础(优缺点、异常、用途),线程VS进程,线程控制,C多线程引入二、【Linux初阶】多线程2 | 分离线程,线程库,线程互斥&#xff0…

【iOS】使用单例封装通过AFNetworking实现的网络请求

这里写目录标题 前言单例封装网络请求1. 首先创建一个继承于NSObject的单例类,笔者这里以Manager对单例类进行命名,然后声明并实现单例类的初始化方法2.实现完单例的创建方法后我们即可通过AFNetworking中的GET方法进行网络请求3.在Controller文件中创建…

免费活动】11月4日敏捷武林上海站 | Scrum.org CEO 亲临现场

活动介绍 过去的几年里,外界的风云变幻为我们的生活增添了一些不一样的色彩。在VUCA世界的浪潮里,每一个人都成为自己生活里的冒险家。面对每一次的变化,勇于探索未知,迎接挑战,努力追逐更好的自己。 七月&#xff0…

Mysql基础与高级汇总

SQL语言分类 DDL:定义 DML:操作 DCL:控制(用于定义访问权限和安全级别) DQL:查询 Sql方言 ->sql:结构化查询语言 mysql:limit oracle:rownum sqlserver:top 但是存储过程:每一种数据库软件一样SQL语法要求: SQL语句可以单行或多行书写&…

【三:Mock服务的使用】

目录 1、工具包2、mock的demo1、get请求2、post请求3、带cookies的请求4、带请求头的请求5、请求重定向 1、工具包 1、:服务包的下载 moco-runner-0.11.0-standalone.jar 下载 2、:运行命令java -jar ./moco-runner-0.11.0-standalone.jar http -p 888…

C# Winform编程(6)高级控件

C# Winform编程(6)高级控件 RadioButton(单选框)PictureBox(图像框)TabControl(选项卡)ProgressBar(进度条)TrackBar(滑动条)ImageList(图像列表控件)ToolBar…

Python---死循环概念---while True

在编程中一个靠自身控制无法终止的程序称为“死循环”。 在Python中,我们也可以使用while True来模拟死循环: 代码: while True: print(每天进步一点点) 图示 应用: 比如,在测试里面,自动化测试用例…

Confluence 解决PDF导出乱码问题

1.原因 PDF导出乱码是因为由于服务器缺少必要字体 2.解决办法 下载字体文件将字体文件重命名为simhei.ttf Confluence→管理→PDF导出语言支持,导入字体即可

c#中使用Task.WhenAll

🚀简介 Task.WhenAll用于等待所有提供的Task对象完成执行。这个方法返回一个新的Task,这个Task将在所有提供的Task完成后完成。如果任何一个Task失败,Task.WhenAll返回的Task也将以异常状态完成。这个方法非常适合在你需要并行执行多个操作&…

垃圾邮件(短信)分类算法实现 机器学习 深度学习 计算机竞赛

文章目录 0 前言2 垃圾短信/邮件 分类算法 原理2.1 常用的分类器 - 贝叶斯分类器 3 数据集介绍4 数据预处理5 特征提取6 训练分类器7 综合测试结果8 其他模型方法9 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 垃圾邮件(短信)分类算…

编译安装Nginx+GeoIP2自动更新+防盗链+防爬虫+限制访问速度+限制连接数

此文章是Nginx的GeoIP2模块和MaxMind国家IP库相互结合,达到客户端IP访问的一个数据记录以及分析,同时还针对一些业务需求做出对Nginx中间件的控制,如:防盗链、防爬虫、限制访问速度、限制连接数等 该篇文章是从一个热爱搞技术的博…

SpringSecurity+ Oauth2.0+JWT 0-1

这里写目录标题 准备工作准备SQL添加用户添加依赖准备UserInfoUserMapperUserServiceUserServiceImpl配置SpringDataUserDetailsService 授权服务器:AuthorizationServer配置客户端详细信息管理令牌定义TokenConfig定义AuthorizationServerTokenServices 令牌访问端…