MySQL基础命令

1.SQL语句基础

1.1 SQL简介

        SQL:结构化查询语言(Structured Query Language),在关系型数据库上执行数据操作、数据检索以及 数据维护的标准语言。使用SQL语句,程序员和数据库管理员可以完成如下的任务

        改变数据库的结构

        更改系统的安全设置

        增加用户对数据库或表的许可权限

        在数据库中检索需要的信息

        对数据库的信息进行更新

1.2 SQL语句分类

MySQL致力于支持全套ANSI/ISO SQL标准。在MySQL数据库中,SQL语句主要可以划分为以下几类

        DDL(Data Definition Language):数据定义语言,定义对数据库对象(库、表、列、索引)的操作。 CREATE、DROP、ALTER、RENAME、 TRUNCATE等

        DML(Data Manipulation Language): 数据操作语言,定义对数据库记录的操作。 INSERT、DELETE、UPDATE、SELECT等

        DCL(Data Control Language): 数据控制语言,定义对数据库、表、字段、用户的访问权限和安全 级别。

        GRANT、REVOKE等

Transaction Control:事务控制

        COMMIT、ROLLBACK、SAVEPOINT等

1.3 SQL语句的书写规范

        在数据库系统中,SQL语句不区分大小写(建议用大写) 。

                但字符串常量区分大小写。

                SQL语句可单行或多行书写,以“;”结尾。

                关键词不能跨多行或简写。

                用空格和缩进来提高语句的可读性。

                子句通常位于独立行,便于编辑,提高可读性。

                        SELECT * FROM tb_table

                注释:

                SQL标准:

                        //。多行注释

                        “--” 单行注释

                MySQL注释: “#”        

2、数据库基本操作

2.1 创建数据库

语法:

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name[create_option] ...create_option: [DEFAULT] {CHARACTER SET [=] charset_name| COLLATE [=] collation_name| ENCRYPTION [=] {'Y' | 'N'}
}

案例:        

在window11的终端登陆数据库:

C:\Users\31922>mysql -uroot -p
Enter password: ******

查看此时所有的数据库:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+
6 rows in set (0.00 sec)

创建新的数据库TEATDATABASES并查看:

mysql> CREATE DATABASE TEATDATABASES;
Query OK, 1 row affected (0.01 sec)

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| teatdatabases      |
| world              |
+--------------------+

使用数据库:

mysql> use teatdatabases; 

退出此时所登陆的数据库,登陆新创建的数据库:

mysql> EXIT

C:\Users\31922>mysql -uroot -p teatdatabases

                                       -u用户名  -p   默认使用的数据库
Enter password: ******

查看当前连接的数据库:

mysql> select database();
+---------------+
| database()    |
+---------------+
| teatdatabases |
+---------------+
1 row in set (0.00 sec)

mysql>

扩展:

查看当前连接的数据库

mysql> select database();
+---------------+
| database()    |
+---------------+
| teatdatabases |
+---------------+
1 row in set (0.00 sec)

查看数据库版本

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.35    |
+-----------+
1 row in set (0.00 sec)

查看当前用户

mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

查看所有用户:

SELECT User,Host,Password FROM mysql.user;

若此时在Linux中使用MySQL,则可以用system<命令>来查看调用linux中命令:

执行对应系统命令:

SYSTEM <命令>

system cls | clear

system date 等

MySQL自带数据库:

        Information_schema: 主要存储了系统中的一些数据库对象信息:如用户表信息、列信息、权限信 息、字符集信息、分区信息等。(数据字典表)

        performance_schema: 主要存储数据库服务器的性能参数

        mysql: 存储了系统的用户权限信息及帮助信息。

        sys: 5.7新增,之前版本需要手工导入。这个库是通过视图的形式把information_schema 和 performance_schema结合起来,查询出更加令人容易理解的数据

        test: 系统自动创建的测试数据库,任何用户都可以使用。

2.2 字符集和校对规则

        字符集是指一系列符号以及符号对应的编码的集合,比如英文字母可以使用 ASCII 编码,中文可以使用 GBK 或者 UTF-8 编码,校对规则则是指一种比较字符的规则,在排序或者比较字符的时候使用。

        每个字符集都会对应多个校对规则,是一对多的关系,而且每个字符集会有默认的校对规则,当我们在 创建数据库或者表时,如果只指定字符集,则使用字符集对应的默认校对规则。

        cs 大小写敏感

        ci 大小写不敏感

        bin 二进制编码比较

# 查看支持的字符集

mysql> show character set;

解析:

        Charset 字符集名称

        Description 字符集描述

        Default collation 默认校对规则

        Maxlen 最大长度

# 查看支持的校对规则

mysql> show collation;

解析:

        Collation 校对规则名称

        Charset 哪个字符集

        Id 校对规则编号

        Default 是否为默认校对规则

        Compiled 是否系统自带

        Sortlen 这与对字符集中表示的字符串进行排序所需的内存量有关。

        Pad_attribute 末尾空格是否参与比较

参考:

        1、非二进制字符串( CHAR 、 VARCHAR 、 TEXT )比较时,末尾空格的处理跟列的字符序有直接关系

        2、 MySQL5.7 及之前的版本,排序规则的类型都是 PAD SPACE ,会忽略字符串末尾的空格, LIKE 除外

        3、 MySQL8 开始,字符序增加了一个参数 Pad_attribute ,该参数的值不同,对字符串末尾空格的处理 方式不同 NO PAD :字符串末尾的空格会和其他字符一样,不会被忽略 PAD SPACE :字符串末尾的空格会被忽略, LIKE 除外

        4、如上针对的都是非二进制字符串的排序和比较,而不是储存

# 查看默认的字符集和校对规则

mysql> show create database teatdatabases;

create database teatdatabases;) # 创建数据库的命令

utf8和utf8mb4的区别

        MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的 unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。

        既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来mysql支持的 utf8 编码最大字 符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。也就是说,任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符集存储。包括 Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上),和很多不常用的汉字,以及任何新增的 Unicode 字符,如表情等 等(utf8的缺点)。

        因此在8.0之后,建议大家使用utf8mb4这种编码。

2.3 修改数据库

语法:

ALTER {DATABASE | SCHEMA} [db_name]alter_option ...
alter_option: {[DEFAULT] CHARACTER SET [=] charset_name| [DEFAULT] COLLATE [=] collation_name| [DEFAULT] ENCRYPTION [=] {'Y' | 'N'}| READ ONLY [=] {DEFAULT | 0 | 1}
}

案例:

mysql> select database();

+---------------+
| database()    |
+---------------+
| teatdatabases |
+---------------+
1 row in set (0.00 sec)

mysql> show create database  teatdatabases; 

+---------------+-----------------------------------------------------------------------------------------------------------------------------------------+
| Database      | Create Database|
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------+
| teatdatabases | CREATE DATABASE `teatdatabases` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> alter database teatdatabases read only = 1;    #  read only=1 只读

Query OK, 1 row affected (0.01 sec)

mysql> show create database teatdatabases;

+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Database      | Create Database|
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
| teatdatabases | CREATE DATABASE `teatdatabases` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ /* READ ONLY = 1 */ |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> drop table td_emp1;   # 此时我们删除表td_emp1时,会提示(此时是只读模式)

ERROR 3989 (HY000): Schema 'teatdatabases' is in read only mode.

mysql> alter database teatdatabases read only = 0;

Query OK, 1 row affected (0.01 sec)

mysql> drop table tb_emp1;

Query OK,0 rows affected (0.01 sec)

mysql> show tables;     #,用于显示当前数据库中的所有表格(也称为表)

Empty set (0.02 sec)

3.4 删除数据库

语法:

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

案例:

mysql> drop database testdatabase;  #  删除数据库 testdatabase

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

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

相关文章

人工智能推动供应链革命的成功

人工智能推动供应链革命的成功 目录 人工智能推动供应链革命的成功一、供应链管理不断变化的面貌二、拥挤的解决方案景观三、踏上人工智能驱动的转型1. 价值创造识别、战略和路线图2. 目标解决方案设计和供应商选择3. 实施与系统集成4. 变革管理、能力建设和全面价值获取 新技术…

flutter 文件下载及存储路径

flutter 文件下载及存储路径 前言一、下载进度条二、文件路径二、文件上传总结 前言 日常开发中&#xff0c;经常会遇到下载文件的功能&#xff0c;往往我们在需要保存文件的路径上去调试&#xff0c;比如Android中的路径&#xff0c;有些会报错在SD卡中&#xff0c;但是有些手…

1.5计算机网络的分类

1.5计算机网络的分类 1.5.1按照网络的作用范围进行分类 1、广域网WAN 广域网WAN&#xff08;WideAreaNetwork&#xff09;&#xff1a;广域网的作用范围通常为几十到几千公里&#xff0c;因而有时也称为远程网(longhaulnetwork)。广域网是互联网的核心部分&#xff0c;其任务…

几款优秀科学开源计算软件介绍

有一些比较优秀的软件&#xff0c;它们在科学计算、数据处理和分析方面具有广泛的应用和功能。以下是一些比较知名的软件&#xff1a; SciPy&#xff1a;SciPy是一个非常流行的科学计算库&#xff0c;提供了大量的数学函数和算法&#xff0c;用于解决各种科学问题。它支持多种操…

dhcp 时间同步 详细介绍

装服务程序步骤 1.如果有默认配置 请先备份 再进行修改 2.修改完配置文件 请重启服务或重新加载配置文件 否则不生效 注意&#xff1a;有的软件 安装包的名字和 系统里服务程序的名字不一样 htttp httpd openssh-server ssh 高阶级改防火墙 一&#xff0c; dhcp自动分配IP地…

机器学习-协同过滤

1、协同过滤要解决的问题 协同过滤算法主要用于推荐系统&#xff0c;推荐系统是信息过载所采用的措施&#xff0c;面对海量的数据信息&#xff0c;从中快速推荐出符合用户特点的物品。一些人的“选择恐惧症”、没有明确需求的人。 解决如何从大量信息中找到自己感兴趣的信息。…

爬虫逆向破解翻译接口参数

Python 请求baidu翻译接口&#xff1a;https://fanyi.baidu.com/v2transapi?fromzh&toen 步骤一&#xff1a; 查找构建请求参数 JS 断点发现如下参数&#xff1a; w {from: _.fromLang,to: _.toLang,query: e,transtype: i,simple_means_flag: 3,sign: b(e),token: windo…

Tomcat 的 work 目录缓存导致的JSP页面图片更新问题

一、问题分析 1. 修改后重新部署没有变化 笔者之前部署了一个后台管理项目&#xff0c;通过它来发布课程内容&#xff0c;其中有一个 JSP 课程页面&#xff0c;在该 JSP 页面里也引用了类文件 Constant.java 里的一个变量&#xff08;ALIYUN_OSS_PATH&#xff09;&#xff0c;…

使用ffmpeg实现音频静音修剪

1 silenceremove介绍 本文主要介绍在 FFmpeg 命令中使用 silenceremove filter 进行音频静音的修剪。 1.1 start_x参数 参数名说明取值范围默认值start_periods设置是否应在音频开头修剪音频。0 表示不应从一开始就修剪静音。当指定一个非 0 值时&#xff0c;它会修剪音频直…

2022-ECCV-Explaining Deepfake Detection by Analysing Image Matching

一、研究背景 1.大量工作将深度伪造检测作为一个二分类任务并取得了良好的性能。 2.理解模型如何在二分类标签的监督下学习伪造相关特征仍难是个艰巨的任务。 3.视觉概念&#xff1a;具有语义的人脸区域&#xff0c;如嘴、鼻子、眼睛。 二、研究目标 1.验证假设&#xff0c;并…

虹科分享 | 用Redis为LangChain定制AI代理——OpenGPTs

文章速览&#xff1a; OpenGPTs简介Redis在OpenGPTs中的作用在本地使用OpenGPTs在云端使用OpenGPTsRedis与LangChain赋能创新 OpenAI最近推出了OpenAI GPTs——一个构建定制化AI代理的无代码“应用商店”&#xff0c;随后LangChain开发了类似的开源工具OpenGPTs。OpenGPTs是一…

OpenCV——多分辨率LBP的计算方法

目录 一、算法原理1、原理概述2、参考文献 二、代码实现三、结果展示 OpenCV——多分辨率LBP的计算方法由CSDN点云侠原创&#xff0c;爬虫自重。如果你不是在点云侠的博客中看到该文章&#xff0c;那么此处便是不要脸的爬虫。 一、算法原理 1、原理概述 基本LBP算子虽然在早期…

Vue.js设计与实现阅读-2

Vue.js设计与实现阅读-2 1、前言2、框架设计的核心要素2、1 提升用户体验2、2 控制代码体积2、3 Tree-Shaking2、4 特性开关2、5 错误处理 1、前言 上一篇我们了解到了 命令式和声明式的区别&#xff0c;前者关注过程&#xff0c;后者关注结果了解了虚拟dom存在的意义&#x…

笔记软件内怎么查看文章字数 笔记查看字数的操作步骤

在记录生活点滴、工作要务时&#xff0c;你是否曾像我一样&#xff0c;为了知道写了多少字而犯愁&#xff1f;尤其是在需要精确控制字数时&#xff0c;那种焦虑感更是如影随形。 记得有一次&#xff0c;我为了一个项目报告苦思冥想&#xff0c;好不容易写了个初稿&#xff0c;…

Java--ListUtil工具类,实现将一个大列表,拆分成指定长度的子列表

文章目录 前言实现代码执行结果 前言 在项目中有时会出现列表很大&#xff0c;无法一次性批量操作&#xff0c;我们需要将列表分成指定大小的几个子列表&#xff0c;一份一份进行操作&#xff0c;本文提供这样的工具类实现这个需求。 实现代码 以下为代码实现&#xff1a; …

锂电池的电压和容量怎么计算?

锂电池组是由电池单体&#xff08;电芯&#xff09;通过串并联来组成 1、串联(S)增加电压&#xff0c;容量不变。 例如&#xff1a;1个磷酸铁锂电池的额定电压为3.2V&#xff0c;容量为4000mAH&#xff0c;将10个磷酸铁锂电芯串联&#xff0c;电池组电压&#xff1a;3.2v*10&a…

Spring Boot中加@Async和不加@Async有什么区别?设置核心线程数、设置最大线程数、设置队列容量是什么意思?直接在yml中配置线程池

在 Spring 中&#xff0c;Async 注解用于将方法标记为异步执行的方法。当使用 Async 注解时&#xff0c;该方法将在单独的线程中执行&#xff0c;而不会阻塞当前线程。这使得方法可以在后台执行&#xff0c;而不会影响主线程的执行。 在您提供的代码示例中&#xff0c;a1() 和…

【gpt4 8k 免费使用】Coze 是一款用来开发新一代 AI Chat Bot 的应用编辑平台

Coze 快速开始 | Coze Welcome to Coze Coze 是什么&#xff1f; Coze 是一款用来开发新一代 AI Chat Bot 的应用编辑平台&#xff0c;无论你是否有编程基础&#xff0c;都可以通过这个平台来快速创建各种类型的 Chat Bot&#xff0c;并将其发布到各类社交平台和通讯软件上。…

【C++】类和对象之匿名对象友元内部类

目录 一、匿名对象 1、基础格式 2、使用场景 二、友元 1、友元函数 2、友元类 三、内部类 1、概念 2、特性 四、拷贝对象时的一些编译器优化 1、函数传参 2、对象返回 一、匿名对象 1、基础格式 【注意】 &#x1f7e2;匿名对象的声明周期只有当前行&#xff0c;进入…