【MySQL】数据库——库操作

这篇具有很好参考价值的文章主要介绍了【MySQL】数据库——库操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 创建数据库

格式为:CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] …]

create database 表示为 固定用法
db_name 表示为 数据库名称
[IF NOT EXISTS] 表示可选项


在终端1中,通过 mysql -uroot -p 指令,登陆数据库

再输入 show databases; 查看当前用户所能看到的数据库列表

【MySQL】数据库——库操作,MySQL,数据库,mysql

创建终端2,并输入 cd /var/lib/mysql 指令,以此查看数据库的对应内容是否变化创建终端2,并输入 cd /var/lib/mysql 指令,以此查看数据库的对应内容是否变化

【MySQL】数据库——库操作,MySQL,数据库,mysql
【MySQL】数据库——库操作,MySQL,数据库,mysql

在终端1中 再次输入 create database databases1; 指令, 创建 databases1数据库
在终端2中 查看发现此时多了一个databases1目录

[IF NOT EXISTS] 的使用

【MySQL】数据库——库操作,MySQL,数据库,mysql

create database if not exists database1;
表示 当前数据库若不存在 database1,则创建该数据库


【MySQL】数据库——库操作,MySQL,数据库,mysql

表示 当前数据库 若存在database1,则进行告警,即数据库已经存在,没有再次创建


2. 删除库

【MySQL】数据库——库操作,MySQL,数据库,mysql

在终端1中,输入 drop database database1; 表示 要删除 database1 数据库
在终端2中, 再次查看则没有database1数据库存在


可若删除数据库,则对应的目录也被删除了,若该目录下有表存在,则也会被直接删除
所以不建议随意删除数据库


总结: 创建数据库 —— create database db_name(数据库名称); 本质 就是在 /var/lib/mysql 创建一个目录
删除数据库 —— drop database db_name (数据库名称); 本质就是在 /var/lib/mysql 删除一个目录


3. 数据库的编码问题

创建数据库时,有两个编码集:数据库的字符集数据库的校验集

数据库的字符集 —— 数据库未来存储数据
(数据库存数据时,采用什么编码)
create database db2 charset=utf8;


数据库的校验集 —— 支持数据库,进行字段比较使用的编码,本质是读取数据库中数据的采用的编码格式
( 查找或匹配数据库,就需要进行比较字段,想要被比较,两者就需要先被读出来,此时两者的校验规则应该相同)
create database db3 charset=uf8 collate utf8_fgenral_ci;


查看系统默认支持的字符集

【MySQL】数据库——库操作,MySQL,数据库,mysql

输入 show variables like ‘character_set_database’;
字符集数据库 默认为 utf8

查看系统默认支持的校验集

输入 show variables like ‘collation_database’;
校验集数据库 默认为 utf8mb3_general_ci

只查看 database的校验集

【MySQL】数据库——库操作,MySQL,数据库,mysql

输入 show variables like ‘collation_%’;
只查看 database的校验集

连接 、数据库进行常规操作、服务器 的 本身的校验规则 都是 utf8

指定编码创建数据库

【MySQL】数据库——库操作,MySQL,数据库,mysql

当在终端1中创建 d1数据库时,在终端2中的var/lib/mysql路径中就会产生对应的目录d1


【MySQL】数据库——库操作,MySQL,数据库,mysql

打开d1目录下的db.opt文件,其中包含默认系统支持的编码集合和校验集合


修改字符集

【MySQL】数据库——库操作,MySQL,数据库,mysql

在终端1中,创建数据库d2,并指明数据库的字符集按照 uft8格式


【MySQL】数据库——库操作,MySQL,数据库,mysql

在终端2中,此时打开d2目录下的db.opt文件,发现 字符集按照uft8格式


【MySQL】数据库——库操作,MySQL,数据库,mysql

使用 character set utf8 cahrset=uft8 表示相同,都可以修改 数据库的字符集 为uft8格式


修改校验集

【MySQL】数据库——库操作,MySQL,数据库,mysql

在终端1中,创建数据库d4,并 使用 collate 将校验集 置为 utf8_general_ci
在终端2中,打开目录d4中的db.opt文件,发现 校验集按照 utf8_general_ci 格式


验证规则对数据库的影响

utf8_general_ci ——不区分大小写

使用 utf8_general_ci ,校验规则是不区分大小写的

【MySQL】数据库——库操作,MySQL,数据库,mysql

在终端1中,创建数据库 test1, 并指明 对应的校验集 为 utf8_general_ci 格式
在终端2中,打开目录test1中的db.opt文件,发现 校验集按照 utf8_general_ci 格式


【MySQL】数据库——库操作,MySQL,数据库,mysql

输入 use test1; 即 进入test1数据库


【MySQL】数据库——库操作,MySQL,数据库,mysql

在test1数据库中,创建 一张表 person ,内部成员为 name,类型为 20个字节


【MySQL】数据库——库操作,MySQL,数据库,mysql

输入 insert into person (name) values ( 字符); 即向person表中插入字符


【MySQL】数据库——库操作,MySQL,数据库,mysql

输入 select * from person; 即查看person表中1全部数据
select 表示从表中去查
* 表示 将表中数据全部显示出来


【MySQL】数据库——库操作,MySQL,数据库,mysql

输入 select * from person where name =‘a’; 即从person表 拿出来 name名称为 a的信息
由于test1数据库 的校验集按照utf8_general_ci 格式,不区分大小写
所以当查找a信息时,会取到peson表中的A和a


utf8_bin ——区分大小写

【MySQL】数据库——库操作,MySQL,数据库,mysql

在终端1中,创建数据库 test2, 并指明 对应的校验集 为 utf8_bin 格式
在终端2中,打开目录test2中的db.opt文件,发现 校验集按照 utf8_bin 格式


【MySQL】数据库——库操作,MySQL,数据库,mysql

输入 use test2; 即使用test2数据库
在test2数据库中,创建 一张表 person ,内部成员为 name,类型为 20个字节


【MySQL】数据库——库操作,MySQL,数据库,mysql

输入 insert into person (name) values ( 字符); 即向person表中插入字符 a A b B


【MySQL】数据库——库操作,MySQL,数据库,mysql

输入 select * from person where name =‘a’; 即从person表 拿出来 name名称为 a的信息
由于test2数据库 的校验集按照utf8_bin 格式,不区分大小写
所以当查找a信息时,只会取到peson表中的a

4. 修改数据库

【MySQL】数据库——库操作,MySQL,数据库,mysql

输入 alter database test2 charset=gbk collate gbk_chinese_ci;
修改test2数据库的字符集为gbk
修改test2数据库的校验集为gbk_chinese_ci


在创建数据库时,所设置的创建选项

【MySQL】数据库——库操作,MySQL,数据库,mysql

输入 show create database test2; 查看创建test2数据库时,相关的命令

5. 查看数据库

【MySQL】数据库——库操作,MySQL,数据库,mysql

输入 show databases; 查看数据库


【MySQL】数据库——库操作,MySQL,数据库,mysql

select database(); 判断当前在那个数据库里面
如:当前处于 数据库d1中

6. 数据库的备份和恢复

备份

【MySQL】数据库——库操作,MySQL,数据库,mysql

在终端1中,输入 show databases; 发现 存在test1数据库


备份关键字为 mysqldump
-B 表示指明哪一个数据库
在终端2中, 将 test2数据库的历史上所有做过的有效操作备份起来了
备份到 test1.tql中


【MySQL】数据库——库操作,MySQL,数据库,mysql

在终端1中,删除test1数据库


【MySQL】数据库——库操作,MySQL,数据库,mysql

在终端2中,打开 var/lib/mysql 路径后,发现不存在 test1目录
但是存在 test1.tql 即test1目录的备份


恢复

此时就可以通过test1.tql ,恢复一个test1目录
【MySQL】数据库——库操作,MySQL,数据库,mysql

在终端2中,输入 pwd 指令,查询当前路径 /var/lib/mysql


【MySQL】数据库——库操作,MySQL,数据库,mysql

在终端1中,输入 source +test1.tql所在路径 即 source /var/lib/mysql/test1.tql

就可以使 test1.sql 中的历史命令 全部在新的mysql中执行一次


【MySQL】数据库——库操作,MySQL,数据库,mysql

在终端1中,输入 show databases; 即又查询到test1数据库的存在


注意事项

如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据
库,再使用source来还原

7. 查看连接情况

【MySQL】数据库——库操作,MySQL,数据库,mysql

输入 show processlist; 查看连接情况

User 表示 用户 ,即当前用户为root
db 表示数据库, 即当前连接的是test1数据库
command 表示 命令
文章来源地址https://www.toymoban.com/news/detail-713273.html

到了这里,关于【MySQL】数据库——库操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL数据库高级操作

    if not exists:表示检测要创建的表是否已存在,如果不存在就继续创建 int(4) zerofill:表示若数值不满4位数,则前面用“0”填充,例0001 auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;自增长字段数据不可以重复;自增长字段必须是主键;如添

    2024年02月09日
    浏览(83)
  • MySQL数据库的操作

    语法 说明: []可选项 specification 特殊选项 character set 字符集 collate 校验规则 创建示例 完整的示例 字符集和校验规则 查看系统支持的字符集和校验集 查看系统支持的字符集 字符集主要是支持使用哪种语言。 查看数据库支持的校验集 校验规则对于数据库的影响 不区分大小写

    2023年04月21日
    浏览(78)
  • 【MySQL】数据库的操作

    目录 前言 创建数据库 编码集和校验集 不同校验集的区别 删除数据库 确认当前数据库 查看数据库属性 修改数据库属性 备份与还原 数据库和表的备份 还原 创建表 查看列结构 查看表属性 修改表的列 修改表名称  修改列名称 删除表 在上一篇文章中,我们简单地讲解了有关

    2024年02月07日
    浏览(41)
  • 【MySQL】数据库——库操作

    格式为:CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] …] create database 表示为 固定用法 db_name 表示为 数据库名称 [IF NOT EXISTS] 表示可选项 在终端1中,通过 mysql -uroot -p 指令,登陆数据库 再输入 show databases; 查看当前用户所能看到的数据库列表 创建终端

    2024年02月08日
    浏览(41)
  • Mysql数据库用户操作

    # Mysql数据库用户操作 ## 1.1创建用户 ```shell create user ‘nz’ identified by ‘123456’ # hzm:用户账号,123456:密码 create user ‘nz’@’%’ identified by ‘123456’ #所有ip都可用账号 create user ‘nz’@’localhost’ identified by ‘123456’ #本地可用账号 create user ‘nz’@’192.168.12.1’ identified

    2024年02月16日
    浏览(58)
  • 数据库之MySQL数据操作练习

    目录 练习内容 worker表要求 创建的表的表结构 表中的数据内容 对数据的操作 1.显示所有职工的基本信息 2.查询所有职工所属部门的部门号,不显示重复的部门号 3.求出所有职工的人数 4.列出最高工和最低工资 5.列出职工的平均工资和总工资 6.创建一个只有职工号、姓名和参

    2024年02月13日
    浏览(45)
  • MySQL基础——数据模型·数据库操作

    ♥️ 作者:小刘在C站 ♥️ 个人主页: 小刘主页 ♥️ 每天分享云计算网络运维课堂笔记,努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️ 树高千尺,落叶归根人生不易,人间真情 目录 1.数据模型 2. SQL 2.1 SQL通用语法 2.3 DDL 2.3.1 数据库操作 1). 查

    2024年02月06日
    浏览(64)
  • 【MySQL】数据库MySQL基础知识与操作

    作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《MySQL》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造,将MySQL基础知识一网打尽,希望可以帮到读者们哦。 其他专栏:《算法详解

    2024年02月05日
    浏览(45)
  • MySQL笔记——MySQL数据库介绍以及在Linux里面安装MySQL数据库,对MySQL数据库的简单操作,MySQL的外接应用程序使用说明

    MySQL笔记——MySQL数据库介绍以及在Linux里面安装MySQL数据库,对MySQL数据库的简单操作,MySQL的外接应用程序使用说明 MySQL笔记——表的分组查询、表的分页查询、表的约束、数据库设计 MySQL案例——多表查询以及嵌套查询 MySQL笔记——数据库当中的事务以及Java实现对数据库进

    2024年01月16日
    浏览(75)
  • MySQL 之 数据库操作 及 表操作

    🎉欢迎大家观看AUGENSTERN_dc的文章(o゜▽゜)o☆✨✨ 🎉感谢各位读者在百忙之中抽出时间来垂阅我的文章,我会尽我所能向的大家分享我的知识和经验📖 🎉希望我们在一篇篇的文章中能够共同进步!!! 🌈个人主页: AUGENSTERN_dc 🔥个人专栏: C语言  |  Java | 数据结构  

    2024年04月17日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包