【Hello mysql】 数据库库操作

news2024/11/26 3:28:59

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.coloradmin.cn/o/720724.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【7月新刊】避雷!这4本期刊竟无影响因子?!7月期刊目录已更新 (多本期刊影响因子上涨)~

6月28日,科睿唯安发布了最新JCR报告,一时间几家欢喜几家愁,但有的作者却发现,自己投稿的期刊虽然被核心库收录却没有影响因子,不免慌了神。 总的来说,被核心库收录的期刊没有公布影响因子,一般…

实战干货,自动化测试框架mark标记详细实战,进阶高级测试...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 pytest可以支持对…

键盘输入一个字符 a’,串口工具显示“b 实现现象:键盘输入一个字符串,串口工具回显输入的字符串

1.键盘输入一个字符 a’,串口工具显示"b 2.实现现象:键盘输入一个字符串,串口工具回显输入的字符串 uart4.h #ifndef __UART4__H__ #define __UART4__H__ #include "stm32mp1xx_uart.h" #include "stm32mp1xx_gpio.h" #include "st…

SQLite Expert Professional将ACCESS数据库文件导入到SQLITE

一、下载与安装 下载对应的位数的SQLite Expert:http://www.sqliteexpert.com/download.html ,建议下载professional版本的,功能更加强大。 如果官网进不去可以到百度云下载:https://pan.baidu.com/s/17igndAqQ7SQ57LcjwS4WIQ …

RK3588 PWM调试记录---linux pwm子系统驱动框架

一、RK3588 PWM简介 RK3588一共有4组PWM,每组有4个通道,共可以产生4*416路PWM波形; PWM0 开始地址:0xfd8b0000 PWM1 开始地址:0xfebd0000 PWM2 开始地址:0xfebe0000 PWM3 开始地址:0xfebf0000 即每组PWM的…

追着 chatGPT 打的 Claude 跑不动了?!

claude 据说是 openai 公司的副总裁因理念不合,出走创建的 anthropic 公司发明的聊天机器人,和 chatGPT一样,智能聊天功能都很不错。 大致水平在 强chatGPT3.5 左右。 前期因为免费试用,反应速度非常快,对国内也没有…

2. 日志模块(上)

日志需求分析 无论对于业务系统还是中间件来说,日志都是必不可少的基础功能。完善、清晰地日志可以帮助我们观测系统运行的状态,并且快速定位问题。现在让我们站在 MyBatis 框架开发者的角度,来简单做一下日志功能的需求分析: 作…

1760_C语言中选择排序的实现

全部学习汇总: GreyZhang/c_basic: little bits of c. (github.com) 选择排序的实现思想跟冒泡排序的思想非常相近,二者的差一点在于:冒泡排序在比较交换的过程中交换的是两个位置的数据,而选择排序则是在遍历比较的过程中寻找最小…

web安全php基础_echo,print,print_r,var_dump 的用处及区别

echo & print 在 PHP 中有两个基本的输出方式: echo 和 print。 PHP echo 语句 echo 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。 显示字符串 下面的实例演示了如何使用 echo 命令输出字…

QtWebApp介绍、下载和搭建http轻量级服务器Demo

一、QtWebApp介绍 QtWepApp是一个C中的HTTP服务器库,其灵感来自Java Servlet。适用于Linux、Windows、Mac OS和Qt Framework支持的许多其他操作系统。   QtWebApp包含以下组件: • HTTP(S)1.0和1.1服务器 • 模板引擎 • 缓冲记录器   这些组件可以…

暑假第二天打卡

离散: (1)联结词集及其优先级 (2)真值表 真值表,最让人迷糊的就是p的真值是0,q的真值是0,p→q的真值是1,理解话虚假的前提可以推出任意结论 构造真值表关键在于从00……0开始&…

【单例模式】—— 每天一点小知识

💧 单例模式 \color{#FF1493}{单例模式} 单例模式💧 🌷 仰望天空,妳我亦是行人.✨ 🦄 个人主页——微风撞见云的博客🎐 🐳 《数据结构与算法》专栏的文章图文并茂🦕生动形…

点大商城V2_2.4.6 全开源版 百度+支付宝+QQ+头条+小程序端+unipp开源前端系统安装教程

播播资源了解到点大商城V2是一款采用全新界面设计支持多端覆盖的小程序应用,支持H5、微信公众号、微信小程序、头条小程序、支付宝小程序、百度小程序,本次测试全套安装的是序是点大商城V2独立版,包含全部插件,代码全开源&#xf…

java项目之高校二手交易平台(ssm+jsp+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的高校二手交易平台。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:风歌&…

Android中级——IPC

IPC IPC是什么?多进程带来的问题IPC前提SerializableParcelableBinder Android中的IPCBundle文件共享MessengerAIDLContentProviderSocket不同IPC优缺点 Binder连接池 IPC是什么? Inter-Process Communcation,含义为进程间通信或者跨进程通信…

NB-IoT学习笔记 —— NB-IoT介绍

一、简介 NB-IoT 是指窄带物联网(Narrow Band Internet of Things)技术,是一种低功耗广域(LPWA)网络技术标准,基于蜂窝技术,用于连接使用无线蜂窝网络的各种智能传感器和设备,聚焦于…

Vite+Vue3+Cesium工程搭建及初始化

现如今的前端更新太快了,我记得我一年前还在写 vue2+cesium 的工程构建方式。现在转眼都 vue3 了。而且 vite 也越来越火逐渐成为趋势。那么这篇文章我们就来介绍一下如何使用 vite 构建一个 vue3+cesium 的工程。 首先我们可以打开 vite 的官网学习如何构建 vite 项目。第一…

Nginx缓存代理服务器

Nginx缓存代理服务器 一、实验部署 二、搭建Nginx缓存代理服务器 1.nginx反向缓存代理服务配置 ###关闭和禁止防火墙开机自启功能 systemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i s/enforcing/disabled/ /etc/selinux/config2.安装nginx服务 v…

基于SSM的人力资源管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

剑指offer12.矩阵中的路径

太难了&#xff0c;想了一会儿没有头绪就直接看了题解。 class Solution {public boolean exist(char[][] board, String word) {int clowns board.length;int rows board[0].length;boolean[][] visited new boolean[clowns][rows];for(int i 0;i<clowns;i){for(int j0…