MySQL数据库基础概述

前言:

        MySQL作为全球应用最广泛的开源关系型数据库管理系统(RDBMS)​,凭借其高性能、高可靠性与零成本特性,已成为Web应用、企业系统的核心数据引擎。它遵循SQL标准,通过表结构实现数据的结构化存储,并借助多存储引擎架构​(如事务型InnoDB、高性能MyISAM)灵活适配不同业务场景。从Linux到Windows的跨平台兼容性,从轻量级应用到千万级数据的高并发处理能力,MySQL为开发者提供了兼顾效率与稳定的数据管理基石,支撑着全球超80%的动态网站数据存储。

目录

一、概述

1.数据库概念

2.数据库的类型

3.关系型数据库模型

4.关系数据库相关概念

二、安装

1.mariadb安装

2.mysql安装

3.启动并开机自启并初始化部署

4.本地连接(本地登录)

三、mysqld数据库配置与命令

1.yum安装后生成的目录 ​

2.mysqld服务器的启动脚本

3.数据存储目录的权限

4.服务启动时读取的默认配置文件

5.mysqld操作命令

6.mysql命令

7.mysqladmin命令

 四、默认数据库

五、 SQL语言

六、mysql数据类型

1.整型

2.浮点型

3.BIT类型

4.定点型

5.日期时间类型

(1)YEAR类型

(2)DATE类型

(3)TIME类型

(4)DATETIME类型

(5)TIMESTAMP类型

6.字符串型

(1)CHAR和VARCHAR类型

(2)TEXT类型

7.ENUM类型

8.SET类型

9.BINARY和VARBINARY类型

10.BLOB类型

11.JSON数据类型

12.特殊的NULL类型

七、数据库操作命令

1.库操作命令

2.表结构操作命令

3.表数据操作

(1)插入数据

(2)自动增长列

(3)alter命令用法

总结


一、概述

1.数据库概念

数据库(Database)

简称DB,按照一定格式存储数据的一些文件的组合,顾名思义就是存储数据的仓库,实际上就是一堆文件。这些文件中存储了具有特定格式的数据 。数据库管理数据有诸多优点,如降低存储数据的冗余度,存储的数据可以共享,便于维护数据完整性,能够实现数据的安全性等。数据库的发展经历了萌芽、初级、中级、和高级阶段。

数据库管理系统(DateBase Management System)

简称DBMS,数据库管理系统是专门用来管理数据库中的数据的,可以对数据库当中的数据进行增、删、改、查 等操作,常见的数据库管理系统:MySql、Oracle、MS SQLServer、DB2、sysbase、pstgreSQL等…

SQL(Structured Query Language)

结构化查询语言,针对关系型数据库的一种语言;SQL 是一种操作数据库的语言,包括创建数据库、删除数据库、查询记录、修改记录、添加字段等。SQL在MySql中可以使用,同时在Oracle中也可以使用,在DB2中也可以使用 。

2.数据库的类型

关系型数据库

  • MariaDB/MySQL

  • Oracle

  • DB2

  • MS SQLServer,只能用于windows系统

    国产数据库

  • 达梦

  • 人大金仓

  • TiDB,分布式关系型数据库

NOSQL数据库

  • Redis,缓存数据库

  • MongoDB,文档型数据库

3.关系型数据库模型

  • 层次模型

  • 网状模型

  • 关系模型

关系模型的相关概念

  1. 实体(Entity) :实体是指现实世界中可以区分的对象,它可以是具体的人、事物或概念,也可以是抽象的物体。在数据库中,实体通常对应于表中的行,而表则实体的一种集合。例如,在一个学生信息管理系统中,学生、课程和教师都可以被视为实体。

  2. 属性(Attribute): 属性是实体的特征或性质,它提供了关于实体的具体信息。属性可以是简单的数据类型,如姓名、年龄或地址,也可以是更复杂的结构,如电话号码或电子邮件地址。在数据库中,属性通常对应于表中的列,每列代表实体的一种属性。例如,学生的姓名、学号和年龄都是学生的属性。

  3. 联系(Relationship): 联系描述了不同实体之间的关系。在现实世界中,实体之间往往存在各种形式的关联。在数据库中,联系通过关系表来实现,这个表通常包含两个或更多的实体作为表的列。例如,学生选修课程的关系表就包含了学生实体和课程实体的相关信息,描述了哪位学生选修了哪门课程。

在关系模型中,实体和联系通常通过以下三种类型来进一步分类:

  • 一对一(1:1):这种联系表示两个实体之间存在一对一的关系,即每个实体只有一个相关的实体,反之亦然。例如,一个部门与一个负责人之间可能存在一对一的联系。

  • 一对多(1:N):这种联系表示一个实体与多个实体相关,但每个相关实体只与一个实体相关。例如,一个教师可以教授多门课程,但每门课程只能由一个教师教授。

  • 多对多(M:N):这种联系表示两个实体之间存在多对多的关系,即每个实体可以与多个实体相关,同时每个相关实体也可以与多个实体相关。例如,学生可以选修多门课程,同时每门课程也可以被多个选修。

在设计数据库时,正确地识别实体、属性和联系,以及它们之间的类型,对于创建一个结构良好、能够有效存储和检索数据的数据库至关重要。

4.关系数据库相关概念

  1. 库(Database): 库是一个存储数据的容器,它可以包含多个数据库。在某些管理系统中,库等同于数据库。

  2. 表(Table): 表是数据库中的一个表格,由行和列组成。表是存储数据的主要结构,每个表通常对应一个实体类型。表的列名称为属性,而表的行名称为记录。

  3. 行(Record): 行也称为记录,它是表中的一个单元,代表表中的一个具体实例。每一行包含了一组属性值,这些值共同描述了一个实体的状态。

  4. 列(Column): 列是表中的一列,它代表了表的一个属性。每列都有一个数据类型,用于定义存储在其中的数据的种类和格式。

  5. 字段(Field): 字段通常指的是表中的行与列的交叉点,它存储了单个数据项。在数据库中,每个字段都有其特定的数据类型和用途。

  6. 数据(Data): 数据是存储在数据库中的信息。它可以是文本、数字、日期、图像、声音等各种形式。数据是数据库管理和操作的核心。

二、安装

默认监听端口号:3306/tcp

1.mariadb安装

服务端程序: mariadb-server;客户端程序:mariadb

 yum install -y mariadb-server mariadb

2.mysql安装

服务端程序:mysql-server;客户端程序:mysql;

 [root@mysql ~]# yum install -y  mysqld-server mysql ##编译安装,需要cmake环境
####或者
# 下载 MySQL 8.0 官方仓库配置
sudo wget https://dev.mysql.com/get/mysql80-community-release-el8-4.noarch.rpm# 安装仓库并导入 GPG 密钥
sudo rpm -ivh mysql80-community-release-el8-4.noarch.rpm
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql# 安装 MySQL Server 8.0
sudo yum install -y mysql-server# 启动服务并设置开机自启
sudo systemctl start mysqld
sudo systemctl enable mysqld

3.启动并开机自启并初始化部署

[root@mysql ~]# systemctl enable --now mysqld.service 
[root@mysql ~]# systemctl disable --now firewalld
[root@mysql ~]# setenforce 0

4.本地连接(本地登录)

 [root@mysql ~]# mysqlWelcome to the mysqld monitor.  Commands end with ; or \g.Your mysqld connection id is 2Server version: 5.5.68-mysqld mysqld Server​Copyright (c) 2000, 2018, Oracle, mysqld Corporation Ab and others.​Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.​MySQL [(none)]> ##[(none)]:表示当前登录用户选择的数据库的“空”,没有在任何库中##使用“exit”命令可以退出数据库登录

注意:mysqld默认的管理用户是“root”,与操作系统的“root”没有任何关系!!!root用户默认没有密码!!

5.软件连接

192.168.72.155主机创建用户赋予权限

mysql> create user zhangsan@192.168.72.1 identified by '123.com';
Query OK, 0 rows affected (0.02 sec)mysql> grant all on *.* to zhangsan@'192.168.72.1';
Query OK, 0 rows affected (0.00 sec)

到外部软件连接库

 连接成功

外部软件新创建表

 表创建完成

三、mysqld数据库配置与命令

1.yum安装后生成的目录 ​

 [root@mysql mysql]# rpm -ql mysqld-server/etc/logrotate.d/mysqld/etc/my.cnf.d/server.cnf/usr/bin/innochecksum/usr/bin/myisam_ftdump/usr/bin/myisamchk/usr/bin/myisamlog/usr/bin/myisampack/usr/bin/mysql_convert_table_format/usr/bin/mysql_fix_extensions/usr/bin/mysql_install_db/usr/bin/mysql_plugin/usr/bin/mysql_secure_installation/usr/bin/mysql_setpermission/usr/bin/mysql_tzinfo_to_sql/usr/bin/mysql_upgrade/usr/bin/mysql_zap/usr/bin/mysqlbug/usr/bin/mysqld_multi/usr/bin/mysqld_safe/usr/bin/mysqld_safe_helper/usr/bin/mysqldumpslow/usr/bin/mysqlhotcopy/usr/bin/mysqltest/usr/bin/perror/usr/bin/replace/usr/bin/resolve_stack_dump/usr/bin/resolveip/usr/lib/systemd/system/mysqld.service/usr/lib/tmpfiles.d/mysqld.conf/usr/lib64/mysql/INFO_BIN/usr/lib64/mysql/INFO_SRC/usr/lib64/mysql/mysqlbug/usr/lib64/mysql/plugin/usr/lib64/mysql/plugin/adt_null.so/usr/lib64/mysql/plugin/auth_0x0100.so/usr/lib64/mysql/plugin/auth_pam.so/usr/lib64/mysql/plugin/auth_socket.so/usr/lib64/mysql/plugin/auth_test_plugin.so/usr/lib64/mysql/plugin/daemon_example.ini/usr/lib64/mysql/plugin/dialog_examples.so/usr/lib64/mysql/plugin/ha_innodb.so/usr/lib64/mysql/plugin/ha_sphinx.so/usr/lib64/mysql/plugin/handlersocket.so/usr/lib64/mysql/plugin/libdaemon_example.so/usr/lib64/mysql/plugin/mypluglib.so/usr/lib64/mysql/plugin/qa_auth_client.so/usr/lib64/mysql/plugin/qa_auth_interface.so/usr/lib64/mysql/plugin/qa_auth_server.so/usr/lib64/mysql/plugin/query_cache_info.so/usr/lib64/mysql/plugin/semisync_master.so/usr/lib64/mysql/plugin/semisync_slave.so/usr/lib64/mysql/plugin/server_audit.so/usr/lib64/mysql/plugin/sphinx.so/usr/lib64/mysql/plugin/sql_errlog.so/usr/libexec/mysqld-prepare-db-dir/usr/libexec/mysqld-wait-ready/usr/libexec/mysqld/usr/share/man/man1/innochecksum.1.gz/usr/share/man/man1/msql2mysql.1.gz/usr/share/man/man1/myisam_ftdump.1.gz/usr/share/man/man1/myisamchk.1.gz/usr/share/man/man1/myisamlog.1.gz/usr/share/man/man1/myisampack.1.gz/usr/share/man/man1/mysql.server.1.gz/usr/share/man/man1/mysql_convert_table_format.1.gz/usr/share/man/man1/mysql_fix_extensions.1.gz/usr/share/man/man1/mysql_install_db.1.gz/usr/share/man/man1/mysql_plugin.1.gz/usr/share/man/man1/mysql_secure_installation.1.gz/usr/share/man/man1/mysql_setpermission.1.gz/usr/share/man/man1/mysql_tzinfo_to_sql.1.gz/usr/share/man/man1/mysql_upgrade.1.gz/usr/share/man/man1/mysql_zap.1.gz/usr/share/man/man1/mysqlbinlog.1.gz/usr/share/man/man1/mysqlbug.1.gz/usr/share/man/man1/mysqlcheck.1.gz/usr/share/man/man1/mysqld_multi.1.gz/usr/share/man/man1/mysqld_safe.1.gz/usr/share/man/man1/mysqldumpslow.1.gz/usr/share/man/man1/mysqlhotcopy.1.gz/usr/share/man/man1/mysqlimport.1.gz/usr/share/man/man1/mysqltest.1.gz/usr/share/man/man1/perror.1.gz/usr/share/man/man1/replace.1.gz/usr/share/man/man1/resolve_stack_dump.1.gz/usr/share/man/man1/resolveip.1.gz/usr/share/man/man8/mysqld.8.gz/usr/share/mysql/README.mysql-cnf/usr/share/mysql/errmsg-utf8.txt/usr/share/mysql/fill_help_tables.sql/usr/share/mysql/my-huge.cnf/usr/share/mysql/my-innodb-heavy-4G.cnf/usr/share/mysql/my-large.cnf/usr/share/mysql/my-medium.cnf/usr/share/mysql/my-small.cnf/usr/share/mysql/mysql_performance_tables.sql/usr/share/mysql/mysql_system_tables.sql/usr/share/mysql/mysql_system_tables_data.sql/usr/share/mysql/mysql_test_data_timezone.sql/var/lib/mysql  ##mysqld数据库的数据存储目录/var/log/mysqld/var/log/mysqld/mysqld.log/var/run/mysqld

2.mysqld服务器的启动脚本

 [root@mysql ~]# cat /usr/lib/systemd/system/mysqld.service​[Unit]Description=mysqld database serverAfter=syslog.targetAfter=network.target​[Service]Type=simpleUser=mysql  ##程序运行用户Group=mysql​ExecStartPre=/usr/libexec/mysqld-prepare-db-dir %n# Note: we set --basedir to prevent probes that might trigger SELinux alarms,# per bug #547485ExecStart=/usr/bin/mysqld_safe --basedir=/usrExecStartPost=/usr/libexec/mysqld-wait-ready $MAINPID"/usr/lib/systemd/system/mysqld.service" 48L, 1697C                                                                39,1          55%# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F​# For example, if you want to increase mysqld's open-files-limit to 10000,# you need to increase systemd's LimitNOFILE setting, so create a file named# "/etc/systemd/system/mysqld.service.d/limits.conf" containing:#       [Service]#       LimitNOFILE=10000​# Note: /usr/lib/... is recommended in the .include line though /lib/... # still works.# Don't forget to reload systemd daemon after you change unit configuration:# root> systemctl --system daemon-reload​[Unit]Description=mysqld database serverAfter=syslog.targetAfter=network.target​[Service]Type=simpleUser=mysqlGroup=mysql​ExecStartPre=/usr/libexec/mysqld-prepare-db-dir %n# Note: we set --basedir to prevent probes that might trigger SELinux alarms,# per bug #547485ExecStart=/usr/bin/mysqld_safe --basedir=/usrExecStartPost=/usr/libexec/mysqld-wait-ready $MAINPID​# Give a reasonable amount of time for the server to start up/shut downTimeoutSec=300​# Place temp files in a secure directory, not /tmpPrivateTmp=true​[Install]WantedBy=multi-user.target

3.数据存储目录的权限

 [root@mysql mysql]# ls -ld /var/lib/mysql/drwxr-xr-x 5 mysql mysql 177 1月  31 10:16 /var/lib/mysql/

4.服务启动时读取的默认配置文件

 [root@mysql mysql]# cat /etc/my.cnf[mysqld]datadir=/var/lib/mysql  ##定义数据存储目录socket=/var/lib/mysql/mysql.sock  ##定义连接的网络接口文件# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0# Settings user and group are ignored when systemd is used.# If you need to run mysqld under a different user or group,# customize your systemd unit file for mysqld according to the# instructions in http://fedoraproject.org/wiki/Systemd​[mysqld_safe]log-error=/var/log/mysqld/mysqld.log  ##程序运行的错误日志pid-file=/var/run/mysqld/mysqld.pid  ##程序运行的PID文件​## include all files from the config directory#!includedir /etc/my.cnf.d

5.mysqld操作命令

 [root@mysql ~]# ls -l /usr/bin/mysql*-rwxr-xr-x 1 root root 3543584 10月  2 2020 /usr/bin/mysql-rwxr-xr-x 1 root root  111971 10月  2 2020 /usr/bin/mysqlaccess-rwxr-xr-x 1 root root 3096720 10月  2 2020 /usr/bin/mysqladmin-rwxr-xr-x 1 root root 3259880 10月  2 2020 /usr/bin/mysqlbinloglrwxrwxrwx 1 root root      26 1月  31 10:15 /usr/bin/mysqlbug -> /etc/alternatives/mysqlbug-rwxr-xr-x 1 root root 3094016 10月  2 2020 /usr/bin/mysqlcheck-rwxr-xr-x 1 root root    4215 10月  2 2020 /usr/bin/mysql_convert_table_format-rwxr-xr-x 1 root root   24116 10月  2 2020 /usr/bin/mysqld_multi-rwxr-xr-x 1 root root   27105 10月  2 2020 /usr/bin/mysqld_safe-rwxr-xr-x 1 root root 2887144 10月  2 2020 /usr/bin/mysqld_safe_helper-rwxr-xr-x 1 root root 3176704 10月  2 2020 /usr/bin/mysqldump-rwxr-xr-x 1 root root    7876 10月  2 2020 /usr/bin/mysqldumpslow-rwxr-xr-x 1 root root    3288 10月  2 2020 /usr/bin/mysql_find_rows-rwxr-xr-x 1 root root    1246 10月  2 2020 /usr/bin/mysql_fix_extensions-rwxr-xr-x 1 root root   34942 10月  2 2020 /usr/bin/mysqlhotcopy-rwxr-xr-x 1 root root 3088968 10月  2 2020 /usr/bin/mysqlimport-rwxr-xr-x 1 root root   16701 10月  2 2020 /usr/bin/mysql_install_db-rwxr-xr-x 1 root root 2926112 10月  2 2020 /usr/bin/mysql_plugin-rwxr-xr-x 1 root root   12126 10月  2 2020 /usr/bin/mysql_secure_installation-rwxr-xr-x 1 root root   17464 10月  2 2020 /usr/bin/mysql_setpermission-rwxr-xr-x 1 root root 3087504 10月  2 2020 /usr/bin/mysqlshow-rwxr-xr-x 1 root root 3106896 10月  2 2020 /usr/bin/mysqlslap-rwxr-xr-x 1 root root 3449016 10月  2 2020 /usr/bin/mysqltest-rwxr-xr-x 1 root root 2921448 10月  2 2020 /usr/bin/mysql_tzinfo_to_sql-rwxr-xr-x 1 root root 2998448 10月  2 2020 /usr/bin/mysql_upgrade-rwxr-xr-x 1 root root 2912968 10月  2 2020 /usr/bin/mysql_waitpid-rwxr-xr-x 1 root root    3856 10月  2 2020 /usr/bin/mysql_zap

6.mysql命令

mysql数据库登录的命令行工具,本地登录时且root用户没有密码,输入mysql,等效于”mysql -uroot -hlocalhost -P3306“

语法

  mysql [options] db_name

常用选项

 -u:指定登录用户-p:指定用户密码-h:指定登录数据库的IP或者域名-P:指定登录数据库的端口号-e:能够在终端执行数据库指令

使用案例

[root@mysql ~]# mysql -uroot -hlocalhost -P3306
###或者
[root@mysql ~]# mysql -h127.0.0.1 -P3306 -uroot###或者使用mysql客户端连接到本地的MySQL服务器(127.0.0.1:3306),用户名为root,并指定了数据库名为sys
[root@mysql ~]# mysql -h127.0.0.1 -P3306 -uroot sys##直接在外部执行查看数据库的命令
[root@mysql ~]# mysql -p123.com -e "show databases"   +--------------------+| Database           |+--------------------+| information_schema || mysql              || performance_schema || test               |+--------------------+##输入密码登录
[root@mysql ~]# mysql -uroot -p
Enter password: 123.com
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 8.0.41 Source distributionCopyright (c) 2000, 2025, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> ##指定登录的数据库,只能是一个
[root@mysql mysql]# mysql -p123.com mysql   
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A​
Welcome to the mysqld monitor.  Commands end with ; or \g.
Your mysqld connection id is 14
Server version: 5.5.68-mysqld mysqld Server​
Copyright (c) 2000, 2018, Oracle, mysqld Corporation Ab and others.​
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.​
mysqld [mysql]> 

7.mysqladmin命令

超级管理命令

语法

 mysqladmin [options] command [command-arg] [command [command-arg]] ...

设置root用户密码

 [root@mysql ~]# mysqladmin -uroot password '123.com'

使用密码登录

 [root@mysql ~]# mysql -uroot -p123.com -h127.0.0.1 -P3306

创建其他用户登录(允许来自于某个主机登录)

mysql> create user 'zhangsan'@'192.168.72.9' identified by '123.com';
Query OK, 0 rows affected (0.01 sec)

查看zhangsan用户权限(USAGE可以连接的权限)

mysql> show grants for zhangsan@192.168.72.9;
+-------------------------------------------------+
| Grants for zhangsan@192.168.72.9                |
+-------------------------------------------------+
| GRANT USAGE ON *.* TO `zhangsan`@`192.168.72.9` |
+-------------------------------------------------+
1 row in set (0.01 sec)

 切换到192.168.72.9远程账户

###关闭防火墙,安全上下文
[root@ding ~]# systemctl disable --now firewalld.service
[root@ding ~]# setenforce 0###安装MySQL客户端
[root@ding ~]# yum install -y mysql###远程账户192.168.72.9连接192.168.72.155主机
[root@ding ~]# mysql -h192.168.72.155 -uzhangsan -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 21
Server version: 8.0.41 Source distributionCopyright (c) 2000, 2024, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> 

 四、默认数据库

  • information_schema :信息数据库,存储所有的库、表、列的名称,任意可登录数据库的用户都可读;sql注入

表名作用
CHARACTER_SETS字符集信息表。用于查看和管理MySQL数据库中的字符集信息。
CLIENT_STATISTICS客户端统计信息表。用于查看和管理客户端的统计信息,例如连接数、请求次数等。
COLLATIONS排序规则信息表。用于查看和管理MySQL数据库中的排序规则信息。
COLLATION_CHARACTER_SET_APPLICABILITY字符集和排序规则的适用性表。用于查看和管理字符集和排序规则之间的适用关系。
COLUMNS数据表的列信息表。用于查看和管理MySQL数据库中数据表的列信息。
COLUMN_PRIVILEGES列级别的权限信息表。用于查看和管理列级别的权限信息,例如用户对各个列的SELECT、INSERT、UPDATE等权限。
ENGINES存储引擎信息表。用于查看和管理MySQL数据库中支持的存储引擎信息。
EVENTS定时事件信息表。用于查看和管理MySQL数据库中的定时事件信息。
FILES文件信息表。用于查看和管理MySQL数据库服务器上文件的信息。
GLOBAL_STATUS全局状态信息表。用于查看和管理MySQL数据库服务器的全局状态信息。
GLOBAL_VARIABLES全局变量信息表。用于查看和管理MySQL数据库服务器的全局变量信息。
INDEX_STATISTICS索引统计信息表。用于查看和管理MySQL数据库中索引的统计信息。
KEY_CACHES键缓存表。用于查看和管理MySQL数据库中的键缓存信息。
KEY_COLUMN_USAGE键列使用表。用于查看和管理键列的使用情况。
PARAMETERS参数表。用于查看和管理MySQL数据库的参数信息,例如连接超时时间、最大连接数等。
PARTITIONS分区表。用于查看和管理MySQL数据库中的分区信息。
PLUGINS插件表。用于查看和管理MySQL数据库中的插件信息。
PROCESSLIST进程列表表。用于查看当前正在运行的MySQL进程,包括连接的客户端和正在执行的查询等。
PROFILING性能分析表。用于启用性能分析,记录和分析SQL查询的性能数据。
REFERENTIAL_CONSTRAINTS外键约束表。用于查看和管理外键约束的信息,包括外键列和参考列等。
ROUTINES存储过程和函数表。用于查看和管理MySQL数据库中的存储过程和函数的信息,包括创建时间、修改时间、函数名等。
SCHEMATA架构表。用于查看和管理MySQL数据库中的架构信息,包括架构名、架构下的表名等。
SCHEMA_PRIVILEGES架构权限表。用于查看和管理架构下的权限信息,包括用户对架构下表的SELECT、INSERT、UPDATE等权限。
SESSION_STATUS会话状态信息表。用于查看和管理当前会话的状态信息,例如会话的连接时间、查询时间等。
SESSION_VARIABLES会话变量表。用于查看和管理当前会话的变量信息,例如会话的最大连接数、最大内存使用量等。
STATISTICS统计信息表。用于查看和管理MySQL数据库中表的统计信息,包括表的行数、平均行大小等。
TABLES数据表信息表。用于查看和管理MySQL数据库中的数据表信息,包括表名、引擎类型等。
TABLESPACES存储空间表。用于查看和管理MySQL数据库中的存储空间信息,包括存储空间名、大小等。
TABLE_CONSTRAINTS表约束信息表。用于查看和管理表的约束信息,包括主键约束、外键约束等。
TABLE_PRIVILEGES表级别的权限信息表。用于查看和管理表级别的权限信息,例如用户对各个表的SELECT、INSERT、UPDATE等权限。
INNODB_CMPMEM_RESETInnoDB 内存比较器重置表。此表用于记录 InnoDB 内存比较器(comparison memory)的清除操作。
INNODB_RSEGInnoDB 重做段表此表用于记录 InnoDB 数据文件的重做段信息。
INNODB_UNDO_LOGSInnoDB 撤销日志表。此表用于记录 InnoDB 撤销操作的日志信息。
INNODB_CMPMEMInnoDB 内存比较器表。此表用于记录 InnoDB 内存比较器的分配和使用情况。
INNODB_SYS_TABLESTATSInnoDB 系统表统计信息表。此表用于记录 InnoDB 系统表的统计信息,如数据量、碎片率等。
INNODB_LOCK_WAITSInnoDB 锁等待信息表。此表记录 InnoDB 锁等待的情况,包括等待锁的线程 ID、等待时间等。
INNODB_INDEX_STATSInnoDB 索引统计信息表。此表用于记录 InnoDB 索引的统计信息,如索引大小、索引列的数据类型等。
INNODB_CMPInnoDB 比较器表。此表用于记录 InnoDB 比较器的分配和使用情况。
INNODB_CHANGED_PAGESInnoDB 更改页表。此表用于记录 InnoDB 数据文件中已更改的页的信息。
INNODB_BUFFER_POOL_PAGESInnoDB 缓冲池页表。此表用于记录 InnoDB 缓冲池中每个页的信息,包括页的类型、页的状态等。
INNODB_TRXInnoDB 事务表。此表用于记录 InnoDB 事务的信息,如事务 ID、事务状态等。
INNODB_BUFFER_POOL_PAGES_INDEXInnoDB 缓冲池页索引表。此表用于记录 InnoDB 缓冲池中每个页的索引信息。
INNODB_LOCKSInnoDB 锁表。此表用于记录 InnoDB 锁的信息,如锁的类型、锁的持有者等。
INNODB_BUFFER_PAGE_LRUInnoDB 缓冲池页 LRU 表。此表用于记录 InnoDB 缓冲池中每个页的最近最少使用(Least Recently Used,LRU)信息。
INNODB_SYS_TABLESInnoDB 系统表信息表。此表用于记录 InnoDB 系统表的信息,如表名、表状态等。
INNODB_SYS_FIELDSInnoDB 系统字段信息表。此表用于记录 InnoDB 系统表中每个字段的信息,如字段名、字段类型等。
INNODB_SYS_COLUMNSInnoDB 系统列信息表。此表用于记录 InnoDB 系统表中每个列的信息,如列名、列类型、列长度等。
INNODB_SYS_STATSInnoDB 系统统计信息表。此表用于记录 InnoDB 系统统计信息,如表数量、数据量等。
INNODB_SYS_FOREIGNInnoDB 系统外键信息表。此表用于记录 InnoDB 系统表中外键的信息,如外键约束条件等。
INNODB_SYS_INDEXESInnoDB 系统索引信息表。此表用于记录 InnoDB 系统表中索引的信息,如索引名、索引类型等。

  • mysql :主数据库,mysqld运行的必须数据库,用户与配置信息

表名称作用
columns_priv保存了每个表的列级别的权限信息,包括用户对各个列的SELECT、INSERT、UPDATE、REFERENCES等权限。
db保存了每个数据库的权限信息,包括用户对每个数据库的CREATE、ALTER、DROP等权限。
event保存了MySQL中的事件信息,包括事件的名称、执行时间、执行语句等。
func保存了用户定义的存储函数的信息,包括函数的名称、参数、返回类型等。
general_log记录了MySQL服务器上所有的日志操作,包括查询、连接、错误日志等。
help_category保存了MySQL帮助文档中的分类信息,用于帮助查找和浏览文档。
help_keyword保存了MySQL帮助文档的关键字信息,用于快速搜索和查找文档。
help_relation保存了MySQL帮助文档中关键字之间的关系信息,用于帮助构建文档的结构。
help_topic保存了MySQL帮助文档的具体内容信息,包括每个主题的标题、内容等。
host保存了MySQL服务器上的主机信息,包括主机名、IP地址、连接权限等。
ndb_binlog_index保存了使用NDB存储引擎的MySQL服务器上的二进制日志索引信息。
plugin保存了MySQL服务器上安装的插件信息。
proc保存了用户定义的存储过程的信息,包括过程的名称、参数、语句等。
procs_priv保存了用户对存储过程的访问权限信息。
proxies_priv保存了MySQL服务器上的代理用户的权限信息。
servers实验性表,保存了MySQL服务器的外部服务器和复制配置信息。
slow_log记录了MySQL服务器上执行时间超过默认阈值的慢查询日志。
tables_priv保存了用户对表的访问权限信息。
time_zone保存了MySQL服务器上的时区信息。
time_zone_leap_second保存了时区闰秒的信息。
time_zone_name保存了时区的名称和相关信息。
time_zone_transition保存了时区的变化规则和信息。
time_zone_transition_type保存了时区变化类型的信息。
user保存了MySQL服务器上的用户账号信息,包括用户名、密码、权限等。
  • performance_schema:性能数据库,存储mysqld的资源使用、安全策略权限配置信息

表名作用
cond_instances条件实例表,该表用于存储各种条件或锁定的实例信息
events_waits_current当前等待事件表,记录了当前正在等待某个事件发生的线程或会话信息
events_waits_history历史等待事件表,记录了过去一段时间内等待事件的信息,包括等待事件的类型、等待时间等
events_waits_history_long长期等待事件表,记录了长时间等待事件的信息,包括等待事件的类型、等待时间、等待时长等
events_waits_summary_by_instance按实例总结等待事件表,提供了按实例总结的等待事件统计信息
events_waits_summary_by_thread_by_event_name按线程和事件总结等待事件表,提供了按线程和特定事件总结的等待事件统计信息
events_waits_summary_global_by_event_name按全局和事件总结等待事件表,提供了按全局和特定事件总结的等待事件统计信息
file_instances文件实例表,记录了数据库中各个文件的信息,包括文件路径、文件大小等
file_summary_by_event_name按事件名总结文件表,提供了按特定事件名总结的文件统计信息
file_summary_by_instance按实例总结文件表,提供了按实例总结的文件统计信息
mutex_instances互斥体实例表,记录了数据库中各个互斥体的信息,包括互斥体的名称、状态等
performance_timers性能计时器表,提供了数据库性能的计时信息,包括执行时间、资源使用情况等
rwlock_instances读写锁实例表,记录了数据库中各个读写锁的信息
setup_consumers设置消费者表,记录了数据库设置的各种消费者信息
setup_instruments设置仪器表,记录了数据库设置的各类性能指标信息
setup_timers设置定时器表,记录了数据库设置的各类定时器信息
threads线程表,记录了数据库中的各个线程信息,包括线程ID、线程状态等
  • sys库

五、 SQL语言

  • DDL:数据定义语言,对数据库结构操作

create:创建(用户,库,表)

alter:改变

drop:删除

  • DML:数据操作语言,对数据表的操作

insert:插入

update:更新

delete:删除数据

  • DCL:数据控制语言,针对用户权限设置

grant:用户赋权

revoke:移除用户权限

  • DQL:数据查询语言,对数据表的操作

select:查询

六、mysql数据类型

常用的数据类型有:

  • 整型

  • 浮点型

  • BIT类型

  • 定点数

  • 日期时间类型

  • 字符串

  • NULL类型

1.整型

整数类型占用字节无符号数的取值范围有符号数的取值范围
TINYINT10~255-128~127
SMALLINT20~65535-32768~32767
MEDIUMINT30~16777215-8388608~8388607
INT40~4294967295-2147483648~2147483647
BIGINT80~18446744073709551615-9223372036854774808~9223372036854774807

整数列的可选属性有三个:

  • M: 宽度(在0填充的时候才有意义,否则不需要指定)

  • unsigned: 无符号类型(非负)

  • zerofill: 0填充,(如果某列是zerofill,那么默认就是无符号),如果指定了zerofill只是表示不够M位时,用0在左边填充,如果超过M位,只要不超过数据存储范围即可

在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系。 int(3)、int(4)、int(8) 在磁盘上都是占用 4 bytes 的存储空间。

各整数数据类型的使用场所

数据类型应用场景
TINYINT一般用于枚举数据,比如系统设定取值范围很小且固定的场景。
SMALLINT可以用于较小范围的统计数据,比如统计工厂的固定资产库存数量等。
MEDIUMINT用于较大整数的计算,比如车站每日的客流量等。
INT、INTEGER取值范围足够大,一般情况下不用考虑超限问题,用得最多。比如商品编号。
BIGINT只有当你处理特别巨大的整数时才会用到。比如双十一的交易量、大型门户网站点击量、证券公司衍生产品持仓等。

2.浮点型

数据类型字节数取值范围
FLOAT4-2^128~2 ^128,即-3.40E+38~+3.40E+38
DOUBLE8-2^1024~ 2^1024,即-1.79E+308~1.79E+308
  • 当浮点数类型使用unsigned修饰无符号时,取值范围将不包含负数。

  • 浮点数的取值范围是理论上的极限值,但根据不同的硬件或操作系统,实际范围可能会小。

  • 浮点数虽然取值范围很大,但精度并不高。float类型的精度为6位或7位,double类型的精度大约为15位。

  • 如果给定的数值超出精度,可能会导致给定的数值与实际保存的数值不一致,发生精度损失。

  • 当一个数字的整数部分和小数部分加起来达到7位时,第7位就会进行四舍五入操作。

  • 要避免使用“=”来判断两个浮点数是否相等,因为浮点数是不准确的,存在精度损失。

3.BIT类型

函数函数用途
BIT(M)存储二进制数据
ASCll(M)获取M的ASCll值
BIN(M)获取M的二进制值
LENGTH(M)获取M的数字长度
  • BIT数据类型可用来保存位字段值。BIT(M)类型允许存储M位值。M范围为1~64,默认为1。

  • BIT其实就是存入二进制的值,类似010110。如果存入一个BIT类型的值,位数少于M值,则左补0。如果存入一个BIT类型的值,位数多于M值,MySQL的操作取决于此时有效的SQL模式:如果模式未设置,MySQL将值裁剪到范围的相应端点,并保存裁减好的值。如果模式设置为traditional(“严格模式”),超出范围的值将被拒绝并提示错误,并且根据SQL标准插入会失败。

  • 对于位字段,直接使用SELECT命令将不会看到结果,可以用bin()或hex()函数进行读取。

4.定点型

  • DECIMAL在MySQL内部以字符串形式存放,比浮点数更精确。定点类型占M+2个字节

  • DECIMAL(M,D)与浮点型一样处理规则。M的取值范围为065,D的取值范围为030,而且必须<=M,超出范围会报错。

  • DECIMAL如果指定精度时,默认的整数位是10,默认的小数位为0。

  • NUMERIC等价于DECIMAL。

  • 例如,DECIMAL(5,2)表示的取值范围为-999.99~999.99。

5.日期时间类型

数据类型字节取值范围日期格式零值
YEAR11901~2155YYYY0000
DATE31000-01-01~9999-12-31YYYY-MM-DD0000-00-00
TIME3-838:59:59~838:59:59HH:MM:SS00:00:00
DATETIME81000-01-01 00:00:00~9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS0000-00-00 00:00:00
TIMESTAMP41970-01-01 00:00:01~2038-01-19 03:14:07YYYY-MM-DD HH:MM:SS0000-00-00 00:00:00
(1)YEAR类型

YEAR类型用来表示年份,在所有的日期时间类型中所占用的存储空间最小,只需要1个字节的存储空间,格式为YYYY。

在MySQL中,可使用以下3种格式指定TEAR类型的值:

使用4位字符串或数字表示,为1901'2155或19012155。

例如,输入2022或2022,插入到数据库中的值均为2022.

使用两位字符串表示,为00~99。

00 ~ '69的值会被转换为2000~2069的YEAR值

70 ~ '99的值会被自动转换为1970~1999的YEAR值

例如,输入22,插入到数据表中的值为2022。

使用两位数字表示,为1~99。

1 ~ 69的值会被转换为2001~2069的YEAR值

70 ~ 99的值会被自动转换为1970~1999的YEAR值

例如,输入22,插入到数据表中的值为2022。

注意:

当使用YEAR类型时,一定要区分0和0。

数字格式的0表示的YEAR值为0000

字符串格式的0表示的YEAR值为2000

(2)DATE类型

DATE类型用来表示日期值,不包含时间部分,需要 3个字节 的存储空间,且其格式为 YYYY-MM-DD 。其中,YYYY表示年份,MM表示月份,DD表示日期。

在MySQL中,可以使用以下4种格式指定DATE类型的值:

以YYYY-MM-DD或者YYYYMMDD字符串格式表示。

以YY-MM-DD或者YYMMDD字符串格式表示。

以YY-MM-DD或者YYMMDD数字格式表示。

使用CURRENT_DATE或者NOW()输入当前系统日期。

注意:

通过"SELECT CURRENT_DATE;"或者"SELECT NOW();"可查询当前日期。

日期中的分隔符"-“,还可以使用”.“”,“”/"等符号来表示。

(3)TIME类型

TIME类型用于表示时间值,它的显示形式一般为HH:MM:SS,其中HH表示小时,MM表示分,SS表示秒。

在MySQL中,可以使用以下3种格式指定TIME类型的值:

以HHMMSS字符串或者HHMMSS数学格式表示。

以HH:MM:SS字符串格式表示。

使用CURRENT_TIME或NOW()输入当前系统时间。

(4)DATETIME类型

DATETIME类型在所有的日期时间类型中占用的存储空间最大,总共需要 8 个字节的存储空间,用来表示日期和时间,它的显示形式为YYYY-MM-DD HH:MM:SS。

在MySQL中,可以使用以下4种格式指定DATETIME类型的值:

以YYYY-MM-DD HH:MM:SS或YYYYMMDDHHMMSS字符串格式表示的日期和时间,取值范围为1000-01-01 00:00:00~9999-12-31-23-59-59。

以YY-MM-DD HH:MM:SS或YYMMDDHHMMSS字符串格式表示的日期和时间,

以YYYYMMDDHHMMSS或YYMMDDHHMMSS数字格式表示的日期和时间,

使用NOW()来输入当前系统的日期和时间。

(5)TIMESTAMP类型

TIMESTAMP(时间戳)类型用于表示日期和时间,需要4个字节的存储空间,它的显示形式与DATETIME类型的相同,但取值范围比DATETIME类型的小。

TIMESTAMP类型与DATETIME类型的不同形式:

使用CURRENT_TIMESTAMP来输入系统当前的日期和时间。

无任何输入,或输入NULL时,实际保存的是系统当前日期和时间。

6.字符串型

数据类型类型说明
CHAR固定长度字符串
VARCHAR可变长度字符串
TEXT大文本数据
ENUM枚举类型
SET字符串类型
BINARY固定长度的二进制数据
VARBINARY可变长度是二进制数据
BLOB二进制大对象
(1)CHAR和VARCHAR类型

CHAR和VARCHAR类型都是用来保存字符串数据,两者不同的是,VARCHAR可以存储可变长度的字符串数据。

字符串类型特点长度长度范围占用的存储空间
CHAR(M)固定长度M0<=M<=255M个字节
VARCHAR(M)可变长度M0<=M<=65535(实际长度 + 1) 个字节
(2)TEXT类型

TEXT类型用于保存大文本数据,例如,文章内容,评论等比较长的文本。

数据类型存储范围存储空间占用量特点
TINYTEXT(tinytext)0~2^8-1文本长度+2小文本,可变长度
TEXT(text)0~2^16-1文本长度+2文本,可变长度
MEDIUMTEXT(mediumtext)0~2^24-1文本长度+3中等文本,可变长度
LONGTEXT(longtext)0~2^32-1文本长度+4大文本,可变长度

7.ENUM类型

ENUM类型又称为枚举类型,其定义格式为:

 ENUM('值1','值2','值3','值4','值5',....,'值n')
  1. ENUM类型的取值范围需要在定义字段时进行指定。

  2. 设置字段值时,ENUM类型只允许从成员中选取单个值,不能一次选取多个值。

  3. 其所需要的存储空间由定义ENUM类型时指定的成员个数决定。

    • 当ENUM类型包含1~255个成员时,需要1个字节的存储空间

    • 当ENUM类型包含256~65535个成员时,需要2个字节的存储空间

    • ENUM类型的成员个数的上限为65535个

8.SET类型

SET类型用于保存字符串对象,其定义格式与ENUM类型相似。

SET('值1','值2','值3','值4','值5',....,'值n')

(1)其所需要的存储空间由定SET类型时指定的成员个数决定。

SET类型包含的成员数存储空间
1~81个字节
9~162个字节
17~243个字节
25~324个字节
33~648个字节

(2)SET类型在存储数据时成员个数越多,其占用的存储空间越大。

(3)SET类型在选取成员时,与ENUM类型不同,其可以一次选择多个成员。

9.BINARY和VARBINARY类型

BINARY和VARBINARY类型类似于CHAR和VARCHAR,不同的是,它们所表示的是二进制数据。

类型特点长度长度范围占用的存储空间
BINARY(M)固定长度M0<=M<=255M个字节
VARBINARY(M)可变长度M0<=M<=65535(M+ 1) 个字节

10.BLOB类型

BLOB类型用于保存数据量比较大的二进制数据,如图片,PDF文档等。

数据类型存储范围占用空间
TINYBLOB0~2^8 -1字节len+1个字节
BLOB0~2^16 -1字节(相当于64KB)len+2个字节
MEDIUMBLOB0~2^24 -1字节(相当于16MB)len+3个字节
LONGBLOB0~2^32 -1字节(相当于4GB)len+4个字节

11.JSON数据类型

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式 ,简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。它易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在网络或者程序之间轻松地传递这个字符串,并在需要的时候将它还原为各编程语言所支持的数据格式。

在MySQL 5.7中,就已经支持JSON数据类型。在MySQL中,JSON类型常见的表示方式有2种,分别为JSON数组和JSON对象。

#JSON数组
['abc',10,null,true]
#JSON对象
{"k1":"value","k2":10}

12.特殊的NULL类型

  • 所有的类型的值都可以是null,包括int、float等数据类型

  • 空字符串””,不等于null,0也不等于null,false也不等于null

  • 任何运算符,判断符碰到NULL,都得NULL

  • NULL的判断只能用is null,is not null

  • NULL 影响查询速度,一般避免使值为NULL

七、数据库操作命令

1.库操作命令

(1)查看数据库(存储当前MySQL库名称,表名称及列名称唯独没有数据)

show databases;

(2)查看所在数据库

select database();

 

(3)查看当前登录用户(返回函数值)

select user();

 

(4)查看当前数据库版本

select version();

(5)查看用户权限列表

show privileges[\G];
mysql> show privileges\G;
*************************** 1. row ***************************
Privilege: AlterContext: TablesComment: To alter the table
*************************** 2. row ***************************
Privilege: Alter routineContext: Functions,ProceduresComment: To alter or drop stored functions/procedures
*************************** 3. row ***************************
Privilege: CreateContext: Databases,Tables,IndexesComment: To create new databases and tables
*************************** 4. row ***************************
Privilege: Create routineContext: DatabasesComment: To use CREATE FUNCTION/PROCEDURE
*************************** 5. row ***************************
Privilege: Create roleContext: Server AdminComment: To create new roles
*************************** 6. row ***************************
Privilege: Create temporary tablesContext: DatabasesComment: To use CREATE TEMPORARY TABLE
*************************** 7. row ***************************
Privilege: Create viewContext: TablesComment: To create new views
*************************** 8. row ***************************
Privilege: Create userContext: Server AdminComment: To create new users
*************************** 9. row ***************************
Privilege: DeleteContext: TablesComment: To delete existing rows
*************************** 10. row ***************************
Privilege: DropContext: Databases,TablesComment: To drop databases, tables, and views
*************************** 11. row ***************************
Privilege: Drop roleContext: Server AdminComment: To drop roles
*************************** 12. row ***************************
Privilege: EventContext: Server AdminComment: To create, alter, drop and execute events
*************************** 13. row ***************************
Privilege: ExecuteContext: Functions,ProceduresComment: To execute stored routines
*************************** 14. row ***************************
Privilege: FileContext: File access on serverComment: To read and write files on the server
*************************** 15. row ***************************
Privilege: Grant optionContext: Databases,Tables,Functions,ProceduresComment: To give to other users those privileges you possess
*************************** 16. row ***************************
Privilege: IndexContext: TablesComment: To create or drop indexes
*************************** 17. row ***************************
Privilege: InsertContext: TablesComment: To insert data into tables
*************************** 18. row ***************************
Privilege: Lock tablesContext: DatabasesComment: To use LOCK TABLES (together with SELECT privilege)
*************************** 19. row ***************************
Privilege: ProcessContext: Server AdminComment: To view the plain text of currently executing queries
*************************** 20. row ***************************
Privilege: ProxyContext: Server AdminComment: To make proxy user possible
*************************** 21. row ***************************
Privilege: ReferencesContext: Databases,TablesComment: To have references on tables
*************************** 22. row ***************************
Privilege: ReloadContext: Server AdminComment: To reload or refresh tables, logs and privileges
*************************** 23. row ***************************
Privilege: Replication clientContext: Server AdminComment: To ask where the slave or master servers are
*************************** 24. row ***************************
Privilege: Replication slaveContext: Server AdminComment: To read binary log events from the master
*************************** 25. row ***************************
Privilege: SelectContext: TablesComment: To retrieve rows from table
*************************** 26. row ***************************
Privilege: Show databasesContext: Server AdminComment: To see all databases with SHOW DATABASES
*************************** 27. row ***************************
Privilege: Show viewContext: TablesComment: To see views with SHOW CREATE VIEW
*************************** 28. row ***************************
Privilege: ShutdownContext: Server AdminComment: To shut down the server
*************************** 29. row ***************************
Privilege: SuperContext: Server AdminComment: To use KILL thread, SET GLOBAL, CHANGE MASTER, etc.
*************************** 30. row ***************************
Privilege: TriggerContext: TablesComment: To use triggers
*************************** 31. row ***************************
Privilege: Create tablespaceContext: Server AdminComment: To create/alter/drop tablespaces
*************************** 32. row ***************************
Privilege: UpdateContext: TablesComment: To update existing rows
*************************** 33. row ***************************
Privilege: UsageContext: Server AdminComment: No privileges - allow connect only
*************************** 34. row ***************************
Privilege: TELEMETRY_LOG_ADMINContext: Server AdminComment: 
*************************** 35. row ***************************
Privilege: SHOW_ROUTINEContext: Server AdminComment: 
*************************** 36. row ***************************
Privilege: RESOURCE_GROUP_USERContext: Server AdminComment: 
*************************** 37. row ***************************
Privilege: REPLICATION_APPLIERContext: Server AdminComment: 
*************************** 38. row ***************************
Privilege: PASSWORDLESS_USER_ADMINContext: Server AdminComment: 
*************************** 39. row ***************************
Privilege: INNODB_REDO_LOG_ENABLEContext: Server AdminComment: 
*************************** 40. row ***************************
Privilege: XA_RECOVER_ADMINContext: Server AdminComment: 
*************************** 41. row ***************************
Privilege: GROUP_REPLICATION_STREAMContext: Server AdminComment: 
*************************** 42. row ***************************
Privilege: GROUP_REPLICATION_ADMINContext: Server AdminComment: 
*************************** 43. row ***************************
Privilege: SENSITIVE_VARIABLES_OBSERVERContext: Server AdminComment: 
*************************** 44. row ***************************
Privilege: FLUSH_USER_RESOURCESContext: Server AdminComment: 
*************************** 45. row ***************************
Privilege: FLUSH_TABLESContext: Server AdminComment: 
*************************** 46. row ***************************
Privilege: FLUSH_STATUSContext: Server AdminComment: 
*************************** 47. row ***************************
Privilege: PERSIST_RO_VARIABLES_ADMINContext: Server AdminComment: 
*************************** 48. row ***************************
Privilege: AUTHENTICATION_POLICY_ADMINContext: Server AdminComment: 
*************************** 49. row ***************************
Privilege: BINLOG_ADMINContext: Server AdminComment: 
*************************** 50. row ***************************
Privilege: ROLE_ADMINContext: Server AdminComment: 
*************************** 51. row ***************************
Privilege: BACKUP_ADMINContext: Server AdminComment: 
*************************** 52. row ***************************
Privilege: CONNECTION_ADMINContext: Server AdminComment: 
*************************** 53. row ***************************
Privilege: BINLOG_ENCRYPTION_ADMINContext: Server AdminComment: 
*************************** 54. row ***************************
Privilege: RESOURCE_GROUP_ADMINContext: Server AdminComment: 
*************************** 55. row ***************************
Privilege: INNODB_REDO_LOG_ARCHIVEContext: Server AdminComment: 
*************************** 56. row ***************************
Privilege: AUDIT_ABORT_EXEMPTContext: Server AdminComment: 
*************************** 57. row ***************************
Privilege: FLUSH_OPTIMIZER_COSTSContext: Server AdminComment: 
*************************** 58. row ***************************
Privilege: CLONE_ADMINContext: Server AdminComment: 
*************************** 59. row ***************************
Privilege: SET_USER_IDContext: Server AdminComment: 
*************************** 60. row ***************************
Privilege: SESSION_VARIABLES_ADMINContext: Server AdminComment: 
*************************** 61. row ***************************
Privilege: REPLICATION_SLAVE_ADMINContext: Server AdminComment: 
*************************** 62. row ***************************
Privilege: SYSTEM_VARIABLES_ADMINContext: Server AdminComment: 
*************************** 63. row ***************************
Privilege: FIREWALL_EXEMPTContext: Server AdminComment: 
*************************** 64. row ***************************
Privilege: SYSTEM_USERContext: Server AdminComment: 
*************************** 65. row ***************************
Privilege: APPLICATION_PASSWORD_ADMINContext: Server AdminComment: 
*************************** 66. row ***************************
Privilege: TABLE_ENCRYPTION_ADMINContext: Server AdminComment: 
*************************** 67. row ***************************
Privilege: SERVICE_CONNECTION_ADMINContext: Server AdminComment: 
*************************** 68. row ***************************
Privilege: AUDIT_ADMINContext: Server AdminComment: 
*************************** 69. row ***************************
Privilege: ENCRYPTION_KEY_ADMINContext: Server AdminComment: 
69 rows in set (0.00 sec)

(6)查看指定用户的权限

show grants for root@localhost\G;
mysql> show grants for root@localhost\G;
*************************** 1. row ***************************
Grants for root@localhost: GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `root`@`localhost` WITH GRANT OPTION
*************************** 2. row ***************************
Grants for root@localhost: GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_USER_ID,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,XA_RECOVER_ADMIN ON *.* TO `root`@`localhost` WITH GRANT OPTION
*************************** 3. row ***************************
Grants for root@localhost: GRANT PROXY ON ``@`` TO `root`@`localhost` WITH GRANT OPTION
3 rows in set (0.00 sec)

(7)切换数据库

use databaseName[;]

(8)创建数据库

create database databaseName  [character set utf8];

 

(9)删除数据库

drop database databaseName;

(10)查看支持的字符集

SHOW CHARACTER SET;

(11)赋加用户权限

grant all on *.* to zhangsan@'192.168.72.1';

(12)查看当前MySQL活动连接(除了事件调度器和当前会话)

mysql> show processlist;
+----+-----------------+-----------+------+---------+------+------------------------+------------------+
| Id | User            | Host      | db   | Command | Time | State                  | Info             |
+----+-----------------+-----------+------+---------+------+------------------------+------------------+
|  5 | event_scheduler | localhost | NULL | Daemon  |  256 | Waiting on empty queue | NULL             |
|  8 | root            | localhost | sys  | Query   |    0 | init                   | show processlist |
+----+-----------------+-----------+------+---------+------+------------------------+------------------+
2 rows in set, 1 warning (0.00 sec)

(13)输出1的表头(字段名称)以及1的值

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

(14)调出user表中的所有

mysql> select * from user;
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| Host      | User             | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher             | x509_issuer              | x509_subject               | max_questions | max_updates | max_connections | max_user_connections | plugin                | authentication_string                                                  | password_expired | password_last_changed | password_lifetime | account_locked | Create_role_priv | Drop_role_priv | Password_reuse_history | Password_reuse_time | Password_require_current | User_attributes |
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| localhost | mysql.infoschema | Y           | N           | N           | N           | N           | N         | N           | N             | N            | N         | N          | N               | N          | N          | N            | N          | N                     | N                | N            | N               | N                | N                | N              | N                   | N                  | N                | N          | N            | N                      |          | 0x                     | 0x                       | 0x                         |             0 |           0 |               0 |                    0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N                | 2025-06-25 23:25:32   |              NULL | Y              | N                | N              |                   NULL |                NULL | NULL                     | NULL            |
| localhost | mysql.session    | N           | N           | N           | N           | N           | N         | N           | Y             | N            | N         | N          | N               | N          | N          | N            | Y          | N                     | N                | N            | N               | N                | N                | N              | N                   | N                  | N                | N          | N            | N                      |          | 0x                     | 0x                       | 0x                         |             0 |           0 |               0 |                    0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N                | 2025-06-25 23:25:32   |              NULL | Y              | N                | N              |                   NULL |                NULL | NULL                     | NULL            |
| localhost | mysql.sys        | N           | N           | N           | N           | N           | N         | N           | N             | N            | N         | N          | N               | N          | N          | N            | N          | N                     | N                | N            | N               | N                | N                | N              | N                   | N                  | N                | N          | N            | N                      |          | 0x                     | 0x                       | 0x                         |             0 |           0 |               0 |                    0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N                | 2025-06-25 23:25:32   |              NULL | Y              | N                | N              |                   NULL |                NULL | NULL                     | NULL            |
| localhost | root             | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | Y            | Y          | Y                     | Y                | Y            | Y               | Y                | Y                | Y              | Y                   | Y                  | Y                | Y          | Y            | Y                      |          | 0x                     | 0x                       | 0x                         |             0 |           0 |               0 |                    0 | mysql_native_password |                                                                        | N                | 2025-06-25 23:25:32   |              NULL | N              | Y                | Y              |                   NULL |                NULL | NULL                     | NULL            |
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
4 rows in set (0.00 sec)

2.表结构操作命令

(1)查看数据表

show tables;
mysql> show tables;
+------------------------------------------------------+
| Tables_in_mysql                                      |
+------------------------------------------------------+
| columns_priv                                         |
| component                                            |
| db                                                   |
| default_roles                                        |
| engine_cost                                          |
| func                                                 |
| general_log                                          |
| global_grants                                        |
| gtid_executed                                        |
| help_category                                        |
| help_keyword                                         |
| help_relation                                        |
| help_topic                                           |
| innodb_index_stats                                   |
| innodb_table_stats                                   |
| password_history                                     |
| plugin                                               |
| procs_priv                                           |
| proxies_priv                                         |
| replication_asynchronous_connection_failover         |
| replication_asynchronous_connection_failover_managed |
| replication_group_configuration_version              |
| replication_group_member_actions                     |
| role_edges                                           |
| server_cost                                          |
| servers                                              |
| slave_master_info                                    |
| slave_relay_log_info                                 |
| slave_worker_info                                    |
| slow_log                                             |
| tables_priv                                          |
| time_zone                                            |
| time_zone_leap_second                                |
| time_zone_name                                       |
| time_zone_transition                                 |
| time_zone_transition_type                            |
| user                                                 |
+------------------------------------------------------+
37 rows in set (0.00 sec)

(2)查看表结构

desc[describe] tableName;
[root@mysqld ~]# mysql -e "desc mysql.user"
+--------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field                    | Type                              | Null | Key | Default               | Extra |
+--------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host                     | char(255)                         | NO   | PRI |                       |       |
| User                     | char(32)                          | NO   | PRI |                       |       |
| Select_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Insert_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Update_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Delete_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Create_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Drop_priv                | enum('N','Y')                     | NO   |     | N                     |       |
| Reload_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Shutdown_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Process_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| File_priv                | enum('N','Y')                     | NO   |     | N                     |       |
| Grant_priv               | enum('N','Y')                     | NO   |     | N                     |       |
| References_priv          | enum('N','Y')                     | NO   |     | N                     |       |
| Index_priv               | enum('N','Y')                     | NO   |     | N                     |       |
| Alter_priv               | enum('N','Y')                     | NO   |     | N                     |       |
| Show_db_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Super_priv               | enum('N','Y')                     | NO   |     | N                     |       |
| Create_tmp_table_priv    | enum('N','Y')                     | NO   |     | N                     |       |
| Lock_tables_priv         | enum('N','Y')                     | NO   |     | N                     |       |
| Execute_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Repl_slave_priv          | enum('N','Y')                     | NO   |     | N                     |       |
| Repl_client_priv         | enum('N','Y')                     | NO   |     | N                     |       |
| Create_view_priv         | enum('N','Y')                     | NO   |     | N                     |       |
| Show_view_priv           | enum('N','Y')                     | NO   |     | N                     |       |
| Create_routine_priv      | enum('N','Y')                     | NO   |     | N                     |       |
| Alter_routine_priv       | enum('N','Y')                     | NO   |     | N                     |       |
| Create_user_priv         | enum('N','Y')                     | NO   |     | N                     |       |
| Event_priv               | enum('N','Y')                     | NO   |     | N                     |       |
| Trigger_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Create_tablespace_priv   | enum('N','Y')                     | NO   |     | N                     |       |
| ssl_type                 | enum('','ANY','X509','SPECIFIED') | NO   |     |                       |       |
| ssl_cipher               | blob                              | NO   |     | NULL                  |       |
| x509_issuer              | blob                              | NO   |     | NULL                  |       |
| x509_subject             | blob                              | NO   |     | NULL                  |       |
| max_questions            | int unsigned                      | NO   |     | 0                     |       |
| max_updates              | int unsigned                      | NO   |     | 0                     |       |
| max_connections          | int unsigned                      | NO   |     | 0                     |       |
| max_user_connections     | int unsigned                      | NO   |     | 0                     |       |
| plugin                   | char(64)                          | NO   |     | caching_sha2_password |       |
| authentication_string    | text                              | YES  |     | NULL                  |       |
| password_expired         | enum('N','Y')                     | NO   |     | N                     |       |
| password_last_changed    | timestamp                         | YES  |     | NULL                  |       |
| password_lifetime        | smallint unsigned                 | YES  |     | NULL                  |       |
| account_locked           | enum('N','Y')                     | NO   |     | N                     |       |
| Create_role_priv         | enum('N','Y')                     | NO   |     | N                     |       |
| Drop_role_priv           | enum('N','Y')                     | NO   |     | N                     |       |
| Password_reuse_history   | smallint unsigned                 | YES  |     | NULL                  |       |
| Password_reuse_time      | smallint unsigned                 | YES  |     | NULL                  |       |
| Password_require_current | enum('N','Y')                     | YES  |     | NULL                  |       |
| User_attributes          | json                              | YES  |     | NULL                  |       |
+--------------------------+-----------------------------------+------+-----+-----------------------+-------+

(3)创建数据表

create table tableName(columnName(列名称) dataType(数据类型), ............);

(4)查看表结构

mysql> describe t1;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int         | YES  |     | NULL    |       |
| name  | varchar(50) | YES  |     | NULL    |       |
| sex   | varchar(4)  | YES  |     | NULL    |       |
| phone | int         | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
###或者
mysql> desc t1;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int         | YES  |     | NULL    |       |
| name  | varchar(50) | YES  |     | NULL    |       |
| sex   | varchar(4)  | YES  |     | NULL    |       |
| phone | int         | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

(5)查看表内容

mysql> select * from t1;
Empty set (0.01 sec) 

(6)删除数据表(表结构)/删除数据库

drop table tableName;

 (7)删除表数据

delete table tableName;

  

(8)删除id=1的数据

mysql> delete from t1 where id=1;
Query OK, 1 row affected (0.00 sec)mysql> select * from t1;
+------+----------+------+------------+
| id   | name     | sex  | phone      |
+------+----------+------+------------+
|    2 | zhangsan | 男   | 1111111111 |
+------+----------+------+------------+
1 row in set (0.00 sec)

(9)全表更新

mysql> update t1 set name=NULL; ##空
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0mysql> select * from t1;
+------+------+------+------------+
| id   | name | sex  | phone      |
+------+------+------+------------+
|    2 | NULL | 男   | 1111111111 |
+------+------+------+------------+
1 row in set (0.00 sec)mysql> update t1 set name=''; ##空字符串
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0mysql> select * from t1;
+------+------+------+------------+
| id   | name | sex  | phone      |
+------+------+------+------------+
|    2 |      | 男   | 1111111111 |
+------+------+------+------------+
1 row in set (0.00 sec)

3.表数据操作

(1)插入数据
  • 单行插入

insert [into]  tableName[(columnName,.........)] value('value1',value2,.......);

 

  • 批量插入

insert into stu value('张三', 22, '11011011011', '男'),('王无',26 , '12011011011', '女'),('里斯',27 ,'12011011099', '男');

  

注意:只书写表名称,表示全表插入,即,全字段插入! 插入的数据数量与字段数量一定要相等!

(2)自动增长列
mysql> desc t1;
+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| id          | int          | NO   | PRI | NULL    | auto_increment |
| create_time | datetime     | YES  |     | NULL    |                |
| name        | varchar(255) | YES  |     | NULL    |                |
+-------------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)mysql> insert t1(create_time,name) value('2025-06-26 11:37:00','zhangsan'),('2025-06-26 11:37:01','lisi');
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0mysql> select * from t1;
+----+---------------------+----------+
| id | create_time         | name     |
+----+---------------------+----------+
|  1 | 2025-06-26 11:37:00 | zhangsan |
|  2 | 2025-06-26 11:37:01 | lisi     |
+----+---------------------+----------+
2 rows in set (0.00 sec)
(3)alter命令用法

语法

ALTER TABLE <表名> [修改选项]

常见用法

| ADD COLUMN <列名> <类型>
| CHANGE COLUMN <旧列名> <新列名> <新列类型>
| ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT }
| MODIFY COLUMN <列名> <类型>
| DROP COLUMN <列名>
| RENAME TO <新表名>
| CHARACTER SET <字符集名>
| COLLATE <校对规则名> 

案例

 (1)创建测试表

create table stu_score(id tinyint, name varchar(50), score decimal(4,2), object varchar(50));

 

(2)修改表名

#alter table tab_name rename to tab_new;
#修改表名
alter table stu_score rename to stuS;

(3)修改字段类型(修改字段相对位置)

#alter table tab_name modify field type (first/before/after field1);
alter table stuS modify id int;

(4)修改字段默认值/是否为空/自动增长

#alter table tab_name modify field type not null/default ="未知"/auto_increment;
#自动增长
alter table stuS modify id int primary key;
alter table stuS modify id int auto_increment;

 

(5)extra设定默认值的自动归补

 (6)修改字段名/字段类型

#alter table tab_name change field  newfield newtype;
#修改字段类型
alter table stuS modify id int;
#修改字段名及类型
alter table stuS change column object subject varchar(50);
#通过alter modify 修改字段是否为null或者默认值!
alter table  stuS modify column name varchar(50) not null default "未知";

 
(7)添加字段

#alter table tab_name add field type (first/before/after field1);
alter table stuS add column extra text;
#添加到第一列
alter table stuS add i int first; 
#添加到某一字段后面!
alter table stuS add sex varchar(10) after name; 

 (8)删除字段

#alter table tab_name drop field;
alter table stuS drop id;

总结:

MySQL的核心价值体现在三层技术维度​:

1.​基础能力普适性

        支持标准SQL语法(DDL/DML/DQL/DCL),五分钟快速部署

        数据范式约束保障结构严谨性,ACID事务模型维护操作原子性

2.架构设计先进性

        分层架构解耦连接处理与数据存储,支持每秒万级查询

        索引优化(B+树、全文索引)提升检索效率300%+​

3.生态整合开放性

        无缝集成LAMP/LEMP技术栈,提供Python/Java/PHP等驱动接口

        ​开源社区持续贡献高可用方案(主从复制、分库分表)

时代定位​:在云原生与分布式演进中,MySQL凭借K8s Operator生态云数据库兼容协议,持续巩固其作为“数据层事实标准”的核心地位。无论是初创项目快速验证,还是金融级系统承载高并发事务,MySQL凭借二十年技术沉淀与全球开发者验证,始终是平衡性能、成本、可靠性的最优解之一。

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

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

相关文章

桌面小屏幕实战课程:DesktopScreen 16 HTTP

飞书文档http://https://x509p6c8to.feishu.cn/docx/doxcnrxBs55qGn6xoysTcJpqwRf /home/kemp/work/esp/esp-idf/examples/protocols/http_request 源码下载方式参考&#xff1a; 源码下载方式 心知天气 注册账号&#xff0c;申请产品&#xff0c;获取密钥 产品 天气数据 H…

vs2019 + QT下 vs2019创建的项目打开ui文件失败

问题: 在vs2019 QT模式下。使用2019创建工程后。点击ui文件打开时。出现奔溃&#xff0c;如下图 解决方式&#xff1a; ui文件->右键->打开方式->添加->程序->点击三个点->qcreator(qt安装目录) ->设置为默认值->确定 点击设置为默认值&#xff0c;点…

WPS之PPT镂空效果实现

1、准备一张图片&#xff0c;剪切存入剪贴板 2、把图片设为背景 右键 》 设置背景格式 》 图片或纹理填充 》 图片填充选择剪贴板 3、插入一个矩形覆盖全图&#xff0c;设置无线条渐变填充从左到右 4、插入圆角矩形 5、单击小黄点调整弧度 6、选择无线条幻灯片背景填充 7、插…

服务注册中心的本质抉择:从业务本质看AP与CP的终极之选

本文从服务注册中心的本质职责出发&#xff0c;通过分析其核心功能、业务场景和技术约束&#xff0c;深入探讨服务注册中心在架构设计上应该优先保证AP还是CP特性。文章首先剖析服务注册中心的根本使命&#xff0c;然后从分布式系统原理、生产实践案例和性能表现三个维度进行对…

mybatis-plus从入门到入土(一):快速开始

​ 朋友们, 大家好, 从今天开始我想开一个系列博客。名字起的比较随意就叫Mybatis-Plus从入门到入土, 这系列博客的定位是从基础使用开始, 然后逐步深入全面的了解Mybatis-Plus框架, 写这个博客的主要原因是工作中经常用到Mybatis-Plus框架, 因而对这个框架相对比较了解一些, 顺…

如何快速将iPhone中的文本保存到电脑上

您的 iPhone 上是否有很多重要的短信&#xff0c;并且您想将短信备份到计算机上&#xff1f;我们都知道传输消息与传输照片不同&#xff0c;但幸运的是&#xff0c;您可以使用相关的工具和方法来实现。我们介绍了 4 种方法来解释如何将 iPhone 中的文本保存到计算机。所有的办法…

【OpenGL学习】(八)图形变换

OpenGL图形变换介绍&#xff1a;https://learnopengl-cn.github.io/01%20Getting%20started/07%20Transformations 【OpenGL学习】&#xff08;八&#xff09;图形变换 本项目将通过变换矩阵&#xff0c;对【OpenGL学习】&#xff08;七&#xff09;纹理单元 中的图形进行缩放…

从理论到实战:解密大型语言模型的核心技术与应用指南

一、Transformer&#xff1a;语言理解与生成的基石 Transformer 架构的出现&#xff0c;彻底改变了自然语言处理&#xff08;NLP&#xff09;的格局。它以“注意力”为核心&#xff0c;将全局依赖的捕捉效率推向新高。下面用 图简要概览其数据流&#xff1a; 从上图可见&#…

kali换源

在Kali Linux中切换软件源可以提高软件下载速度&#xff0c;下面为你介绍切换源的方法。 一、备份原配置文件 首先备份原配置文件&#xff0c;避免操作失误导致问题&#xff1a; sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak二、编辑源配置文件 使用以下命令编…

从决策树到随机森林:Python机器学习里的“树形家族“深度实战与原理拆解

引言 在机器学习的算法森林中&#xff0c;有一对"树形兄弟"始终占据着C位——决策树像个逻辑清晰的"老教授"&#xff0c;用可视化的树状结构把复杂决策过程拆解成"是/否"的简单判断&#xff1b;而它的进阶版随机森林更像一支"精英军团&quo…

uniapp,每次请求时,中断上次请求

1.封装uni.request import {BASE_URL} from "/config/config.js"import store from "/store/index.js"; class RequestManager {constructor() {this.requestTasks new Map() // 存储所有请求任务this.baseURL BASE_URLthis.header {Content-Type: app…

DuDuTalk | 武汉赛思云科技有限公司通过武汉市人工智能企业认定!

近日&#xff0c;2025年武汉市人工智能企业名单正式公布&#xff01;武汉赛思云科技有限公司&#xff08;以下简称赛思云科技&#xff09;凭借卓越的技术实力与创新成果&#xff0c;成功入选武汉市人工智能企业。这是对公司长期深耕AI语音智能领域、推动数字化转型的高度认可&a…

STM32实现傅里叶变换精确计算采样电流值

以下是基于离散傅里叶变换(DFT)算法在单片机上实现精确电流值计算的全流程指南,结合硬件选型、算法优化、代码实现及实际应用场景分析,综合多篇技术文档的实践要点: ⚙️ 一、系统设计核心要点 硬件选型与配置 单片机选择:优先采用带硬件浮点单元(FPU)的STM32F4/F7系列…

python 爬虫 下载视频

测试 OK II 在开发者工具里面 直接搜索m3u8 可以直接找相对应连接地址继续分析 这个m3u8 url地址是从哪里过来的 在什么地方有 III 我们想要视频数据 <m3u8连接> 在 网页源代码里面有获取整个视频内容 --》分为N个视频片段《ts文件》-->在m3u8连接里面--> 视频播放…

希尔伯特空间:无穷维度的几何世界

希尔伯特空间&#xff1a;无穷维度的几何世界 从量子物理到信号处理&#xff0c;希尔伯特空间为现代科学与工程提供了强大的数学框架 引言&#xff1a;无限维度的舞台 在数学和物理学的广阔领域中&#xff0c;希尔伯特空间扮演着至关重要的角色。这个完备的内积空间不仅推广了…

Transformer结构与代码实现详解

参考&#xff1a; Transformer模型详解&#xff08;图解最完整版&#xff09; - 知乎https://zhuanlan.zhihu.com/p/338817680GitHub - liaoyanqing666/transformer_pytorch: 完整的原版transformer程序&#xff0c;complete origin transformer programhttps://github.com/lia…

Adobe InDesign 2025

Adobe InDesign 2025(ID2025)桌面出版软件和在线发布工具,报刊杂志印刷排版设计软件。Adobe InDesign中文版主要用于传单设计,海报设计,明信片设计,电子书设计,排版,手册设计,数字杂志,iPad应用程序和在线交互文档。它是首款支持Unicode文本处理的主流DTP应用程序,率先使用新型…

Linux下获取指定时间内某个进程的平均CPU使用率

一、引言 通过pidstat工具可以测量某个进程在两个时间点之间的平均CPU利用率。 二、pidstat工具的安装 pidstat属于sysstat套件的一部分。以Ubuntu系统为例&#xff0c;执行下面命令下载安装sysstat套件&#xff1a; apt-get install sysstat 执行完后&#xff0c;终端执行p…

1.4 蜂鸟E203处理器NICE接口详解

一、NICE接口的概念 NICE&#xff08;Nuclei Instruction Co-unit Extension&#xff09;接口是蜂鸟E203处理器中用于扩展自定义指令的协处理器接口&#xff0c;基于RISC-V标准协处理器扩展机制设计。它允许用户在不修改处理器核流水线的情况下&#xff0c;通过外部硬件加速特…

Oracle 递归 + Decode + 分组函数实现复杂树形统计进阶(第二课)

在上篇文章基础上&#xff0c;我们进一步解决层级数据递归汇总问题 —— 让上级部门的统计结果自动包含所有下级部门数据&#xff08;含多级子部门&#xff09;&#xff0c;并新增请假天数大于 3 天的统计维度。通过递归 CTE、DECODE函数与分组函数的深度结合&#xff0c;实现真…