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

MySQL数据库的操作

MySQL

      • 连接服务器
  • 库的操作
    • 创建数据库
    • 数据库删除
    • 查看数据库
    • 进入数据库
    • 查看所在的数据库
    • 修改数据库
    • 显示创建语句
    • 查看连接情况
  • 表的操作
    • 创建表
    • 查看数据库所有的表
    • 查看表的详细信息
    • 查看创建表时的详细信息
    • 删除表
    • 修改表名
    • 向表中插入数据
    • 在表结构中新增一列
    • 对表结构数据的修改
    • 删除表结构的一列
    • 表结构列名称的修改

在这里插入图片描述

连接服务器

输入:
mysql -h 127.0.0.1 -P 3306 -u root -p
在这里插入图片描述

输出:
在这里插入图片描述

注意:
mysql -u root -p

如果没有写 -h 127.0.0.1 默认是连接本地
如果没有写 -P 3306 默认是连接3306端口号

库的操作

创建数据库

  • 创建名为 database1 的数据库目录
    create database database1;

在这里插入图片描述

当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci

🔍创建数据库的时候,有两个编码集:

  1. 数据库编码集

数据库未来存储数据

  1. 数据库校验集

支持数据库,进行字段比较使用的编码,本质也是一种读取数据库中数据的采用的编码格式

数据库无论对数据做任何操作,都必须保证操作和编码必须是编码一致的!

  • 创建一个使用utf8字符集的 d1 数据库
    create database d1 charset=utf8;
  • 创建一个使用utf8字符集的 d2 数据库
    create database d2 character set utf8;
  • 创建一个使用utf字符集,并带校对规则的 d3 数据库
    create database d3 charset=utf8 collate utf8_general_ci;

🔍查看系统默认字符集以及校验规则
show variables like 'character_set_database';
show variables like 'collation_database';
在这里插入图片描述

如果编码和校验与上面一样,我们在创建数据库时按照系统默认编码创建就行了。

数据库删除

  • 删除名为 database1 的数据库
    drop database database1;

🔍执行删除之后的结果:

  1. 数据库内部看不到对应的数据库
  2. 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删

注意:不要随意删除数据库

查看数据库

  • 查看数据库
    show databases;

进入数据库

  • 进入名为 database1 数据库
    use database1;

查看所在的数据库

  • 查看自己当前所在的数据库
    select database();

修改数据库

  • 修改database1数据库的字符集;gbk,校验规则:gbk_chinese_ci
    alter database database1 charset=gbk collate gbk_chinese_ci;

说明:

  • 对数据库的修改主要指的是修改数据库的字符集,校验规则

显示创建语句

  • 查看database1数据库创建时的命令
    show create database database1;

在这里插入图片描述
🔍说明:

  • MySQL 建议我们关键字使用大写,但是不是必须的。
  • 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
  • /*!40100 default… */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话

查看连接情况

show processlist;
在这里插入图片描述
可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。

注意:不要随意删除数据库,和更改数据库名称。

表的操作

创建表

CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

说明:

  • field 表示列名
  • datatype 表示列的类型
  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
  • comment 对结构类型的描述用''包裹

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
说明:
不同的存储引擎,创建表的文件不一样

查看数据库所有的表

  • 查看当前数据库所有的表结构
    show tables;

查看表的详细信息

  • 查看表名为user1的详细信息
    desc user1;

在这里插入图片描述

查看创建表时的详细信息

  • 查看创建user1bi表时的详细信息
    show create table user1;

在这里插入图片描述

  • 过滤调不重要的信息
    show create table user1 \G
    注意这里不需要加;

在这里插入图片描述

数据库会对你做的任何操作做优化并记录下来。

删除表

  • 删除user2表
    drop table user2;

修改表名

  • 将user1改为user
    alter table user1 rename to user;
    alter table user1 rename user;

两个功能一样,可以将to省略

在这里插入图片描述

向表中插入数据

  • 向user数据表中插入 (1, ‘张三’, ‘1234’, ‘2001-1-1’);如数据
    insert into user values (1, '张三', '1234', '2001-1-1');

在这里插入图片描述

在表结构中新增一列

  • 在user表结构的birthday的后面添加一列
    alter table user add image_path varchar(100) comment '用户头像路径' after birthday;

在这里插入图片描述

对表结构数据的修改

  • 将user表结构中的name的大小改为 varchar(60)
    alter table user modify name varchar(60);

在这里插入图片描述
注意这里的改是一种覆盖式的改

删除表结构的一列

  • 将user表结构中的password着一列删除
    alter table user drop password;

在这里插入图片描述

表结构列名称的修改

  • 将user表结构中的name的列名称改为 xingming
    alter table user change name xingming varchar(60) DEFAULT NULL;
    在这里插入图片描述
http://www.lryc.cn/news/116094.html

相关文章:

  • 人工智能行业岗位一览
  • 《Linux运维实战:Docker基础总结》
  • Clash 意外退出后 chrome / google 谷歌 浏览器无法连接互联网
  • 89 | Python人工智能篇 —— 深度学习算法 Keras 实现 MNIST分类
  • 每天一道leetcode:剑指 Offer 32 - III. 从上到下打印二叉树 III(中等广度优先遍历)
  • day10 快速排序 方法重载 和 方法递推
  • Qt 6. 其他类调用Ui中的控件
  • PHP 的不同版本(src 版、nts 版和 win 版)之间的区别和共同点。
  • 3 vue的if语法
  • python基础3——流程控制
  • kubernetes中最小组件——Pod
  • C++ 友元
  • Vulkan 绘制显示设计
  • Linux性能分析工具介绍(一)--cpu及功耗相关工具介绍
  • 智能财务分析的无冕之王-奥威BI数据可视化工具
  • .NET 应用程序 部署
  • Linux CentOS安装NVIDIA GPU驱动程序和NVIDIA CUDA工具包
  • 剑指Offer13.机器人的运动范围 C++
  • List、Map、Set打印
  • 软件机器人在渔业船员证书核发中自动化二次审批制证,提高效率和准确性
  • Godot4 C# vscode开发环境搭建
  • nginx简介与安装配置,目录结构和配置文件介绍
  • CTF流量题解http4.pcapng
  • 旷视科技AIoT软硬一体化走向深处,生态和大模型成为“两翼”?
  • STM32 F103C8T6学习笔记2:GPIO的认识—GPIO的基本输入输出—点亮一个LED
  • 数组相关练习
  • Leetcode-每日一题【剑指 Offer 11. 旋转数组的最小数字】
  • git教程(第一次使用)
  • Autoware.ai1.14.0自动驾驶-Demo运行
  • AttributeConverter