【Hello mysql】 数据库库操作

Mysql专栏:@Mysql
本篇博客简介:介绍数据库的库操作

库的操作

    • 创建数据库
    • 创建数据库案例
    • 字符集和校验规则
      • 查看系统默认字符集和校验规则
      • 查看数据库支持的字符集和校验规则
    • 校验规则对于数据库的影响
    • 操纵数据库
      • 查看数据库
      • 显示创建语句
      • 修改数据库
      • 数据库删除
    • 查看连接情况

创建数据库

创建数据库的语法格式如下

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_nam
  • 大写的表示关键字 (其实mysql中大小写并不严格 所以我们使用小写关键字也可以 )
  • [] 是可选项
  • CHARACTER SET: 指定数据库采用的字符集
  • COLLATE: 指定数据库字符集的校验规则

什么是字符集和校验规则

我们简单理解下 字符集就是向计算机中存储数据的格式 校验规则就是从计算机中取出数据的格式

创建数据库案例

创建名为db1的数据库

在这里插入图片描述

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

创建一个使用utf8字符集的 db2 数据库

在这里插入图片描述

创建一个使用utf字符集 并带校对规则的 db3 数据库

在这里插入图片描述

字符集和校验规则

什么是字符集和校验规则

我们简单理解下 字符集就是向计算机中存储数据的格式 校验规则就是从计算机中取出数据的格式

一般来说字符集和校验规则是要配套的

查看系统默认字符集和校验规则

show variables like 'character_set_database';
show variables like 'collation_database';

在这里插入图片描述

查看数据库支持的字符集和校验规则

show charset // 查看支持的字符集

在这里插入图片描述

show collation; // 查看支持的字符集校验规则

在这里插入图片描述

校验规则对于数据库的影响

创建一个数据库 校验规则使用utf8_ general_ ci[不区分大小写]

create database test1 collate utf8_general_ci
use test1;
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');

创建一个数据库 校验规则使用utf8_ bin[区分大小写]

create database test2 collate utf8_bin;
use test2
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');

表的字符集校验规则默认是数据库的字符集校验规则

之后我们分别对于这两个表进行查询和排序

查询

不区分大小写

mysql> use test1;
mysql> select * from person where name='a';
+------+
| name |
+------+
| a  |
| A  |
+------+
2 rows in set (0.01 sec)

区分大小写

mysql> use test2;
mysql> select * from person where name='a';
+------+
| name |
+------+
| a  |
+------+
2 rows in set (0.01 sec)

结果排序

不区分大小写

mysql> use test1;
mysql> select * from person order by name;
+------+
| name |
+------+
| a  |
| A  |
| b  |
| B  |
+------+

区分大小写

mysql> use test2;
mysql> select * from person order by name;
+------+
| name |
+------+
| A  |
| B  |
| a  |
| b  |
+------+

通过上面的两组对比我们可以很明显的发现字符集的校验规则能够影响到数据的查询和排序

操纵数据库

查看数据库

语法:

show databases;

在这里插入图片描述

显示创建语句

语法:

show create database test1;

它的作用是显示创建数据库的语句

比如说我们使用gbk字符集创建test1数据库 之后使用显示创建语句

在这里插入图片描述

我们可以发现在下面的记录中展示了test1数据库的字符集

需要注意的是

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

修改数据库

一般来说我们修改数据库就是修改数据库的字符集还有校验规则

修改数据库名字和属性都是很危险的事情 很可能会导致一系列的问题

语法如下

ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

比如说我们修改test1数据库的字符集为utf8

在这里插入图片描述

我们可以看到字符集成功被修改为utf8了

数据库删除

语法:

DROP DATABASE [IF EXISTS] db_ name;

比如说我们要删除test1数据库

在这里插入图片描述

此外还有一种方法可以删除数据库

我们可以使用Linux的管理员权限进入保存数据库数据的目录下 直接删除对应目录即可

查看连接情况

语法:

show processlist

在这里插入图片描述
从左到右介绍下第一列的含义

  • id : mysql中对于用户的一个标识
  • user:当前用户
  • host :主机
  • db:正在访问的数据库
  • command:显示当前连接执行的命令
  • time:显示线程执行当前状态的时间
  • state:当前连接sql语句的状态
  • info:线程执行的语句

当我们发现自己的数据库运行速度较慢的时候 可以通过该指令来查询访问数据库的用户 如果查出哪个用户不是正常登录的 那么很可能是你的数据库被黑入了

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

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

相关文章

集成运放电路计算(全)

自记: 常用运放电路计算与分析 1、运放的符号表示 2、集成运算放大器的技术指标 (1) 开环差模电压放大倍数(开环增益)大 Ao(Ad)Vo/(V-V-)107-1012倍; (2) 共模抑制比高 KCMRR100db以上; (3) 输入电阻大 ri>1MW, 有的可达100MW以上; (4) 输出电阻小 ro 几W-几十…

Leetcode-每日一题【234.回文链表】

题目 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head [1,2,2,1]输出:true 示例 2: 输入:head…

日历与时钟

目录 公历 黑色星期五 生物韵律 公历 在公历中,当年份为4的整数倍,但不是100的整数倍时,会出现闰年的现象。 y40 mod(y,4) 0 && mod(y,100)||mod(y,400)0 输出当时的年、月、日、时、分、秒 f%6d %6d %6d %6d %6d %9.3f\n cclock …

面向对象五大基本原则

面向对象五大基本原则 更多精彩 先案例后讲解,这里是代码教父,今天讲解面向对象的五大基本原则: 单一职责原则(The Single Responsibility Principle)开闭原则(The Open-Closed Principle)里氏…

深度学习-第T10周——数据增强

深度学习-第T10周——数据增强 深度学习-第T10周——数据增强一、前言二、我的环境三、前期工作1、导入数据集2、查看图片数目 四、数据预处理1、 加载数据1.1、设置图片格式1.2、划分训练集1.3、划分验证集1.4、查看标签1.5、再次检查数据1.6、配置数据集 2、数据可视化 五、数…

通过ioctl函数选择不同硬件的控制,LED 蜂鸣器 马达 风扇

通过ioctl函数选择不同硬件的控制,LED 蜂鸣器 马达 风扇 实验现象 head.h #ifndef __HEAD_H__ #define __HEAD_H__ typedef struct{volatile unsigned int MODER; // 0x00volatile unsigned int OTYPER; // 0x04volatile unsigned int OSPEEDR; // 0x08volati…

Unity Editor扩展 实现一个Excel读表窗口

设计 Unity Editor窗口类 public class ExcelEditorWindow : EditorWindow {[MenuItem( "Frameworks/读表配置界面", false, 10 )]private static void Open(){Rect wr new Rect( 0, 0, 500, 500 );ExcelEditorWindow window ( ExcelEditorWindow ) EditorWindow.…

React hooks文档笔记(二) 添加交互性

添加交互性 1. 事件传播1.1 停止传播1.2 阻止默认事件 2. [Hook] useState 状态3. 渲染和提交3.1 触发渲染3.2 React渲染组件3.3 提交对 DOM 的更改3.4 浏览器绘制 4. 渲染快照状态队列例子 5. 更新state中的对象 1. 事件传播 js的事件流: 事件捕获:从…

【DBA课程-笔记】MongoDB入门到云上开发

课程目的:成为专业MongoDB的DBA nosql第一:MongoDB 一、讲师: 二、课程目录 第1章:MongoDB数据库入门 第2章:MongoDB数据数据查询与分析 第3章:MongoDB数据库核心知识 第4章:MongoDB数据库管…

MySQL索引

文章目录 MySQL索引1 索引1.1 索引的概念1.2 索引的作用1.3 创建索引的原则依据 2 索引的分类和创建2.1 普通索引2.1.1 直接创建索引2.1.2 修改表方式创建2.1.3 创建表的时候指定索引 2.2 唯一索引2.2.1 直接创建唯一索引2.2.2 修改表方式创建唯一索引2.2.3 创建表的时候指定唯…

SQlite3 编译

参考博客:https://blog.csdn.net/flowerspring/article/details/121268403 1.下载C源码以及def文件https://www.sqlite.org/download.html 2. 下载完成之后解压 sqlite-amalgamation获取C源码,解压sqlite-dll-win32-xx获取里面的def文件。 3.新建sqlite…

MySQL的面试题讲解看完肯定对你有帮助!!

一、理论方面 1.InnoDB存储引擎和MyISAM的区别 InnoDB和MyISAM是MySQL数据库常见的两种存储引擎,它们在功能和性能方面有一些重要区别: 1.事务支持:InnoDB是一个支持事务处理的存储引擎,它使用了ACID(原子性、一致性、…