MySQL 保姆级教程(二):使用 MySQL 检索数据

2024-06-13 22:04

本文主要是介绍MySQL 保姆级教程(二):使用 MySQL 检索数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用 MySQL

3.2 选择数据库

使用数据库: 输入: USE 数据库名;输出: Database changed分析: 不返回任何结果,显示某种形式的通知
​
例如: 使用 crashcourse 数据库
use crashcourse;

3.3 了解数据库和表

列出所有的数据库: 输入: SHOW DATABASES;输出: +--------------------+| Database           |+--------------------+| coldfusion         || crashcourse        || flex               || forta              || information_schema || mysql              || performance_schema || study              || sys                || test               |+--------------------+分析: 返回可用数据库的一个列表
​
列出当前数据库中的所有表: 输入: 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                                                 |+------------------------------------------------------+分析: 返回当前选择的数据库内可用表的列表
​
显示指定表的列信息: 输入: SHOW COLUMNS FROM user;或者是: DESCRIBE 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                  |       |+--------------------------+-----------------------------------+------+-----+-----------------------+-------+分析: SHOW columns 要求给出一个表名(例如 user),它对每个字段返回一行,行中包含字段名、数据类型、是否允许 NULL,键信息、默认值以及其他信息
​
其他支持 SHOW 的语句: 1. SHOW STATUS      用来显示广泛的服务器状态信息2. SHOW CREATE DATABASE 数据库名 和 SHOW CREATE TABLE 表名     分别用来显示创建特定数据库或表的 mysql 语句,包括表的结构、索引等3. SHOW GRANTS      用来显示授予用户(所有用户或特定用户)的安全权限4. SHOW ERRORS 和 SHOW WARNINGS      用来显示服务器错误或警告消息5. SHOW PROCESSLIST;        用来显示当前正在执行的进程列表6. SHOW VARIABLES;      用来显示数据库系统的配置变量

3.4 数据库的创建

输入: CREATE DATABASE <数据库名>;
​
例如: CREATE DATABASE clc;
输出: Query OK, 1 row affected (0.08 sec)

检索数据

4.1 SELECT 语句

用途是从一个或多个表中检索信息

4.2 检索单个列

输入: SELECT plugin FROM user;
输出: 
+-----------------------+
| plugin                |
+-----------------------+
| mysql_native_password |
| caching_sha2_password |
| caching_sha2_password |
| caching_sha2_password |
+-----------------------+
分析: 上述语句利用 SELECT 语句从 user 表中检索一个名为 plugin 的列

4.3 检索多个列

输入: SELECT Host,plugin FROM user;
输出: 
+-----------+-----------------------+
| Host      | plugin                |
+-----------+-----------------------+
| %         | mysql_native_password |
| localhost | caching_sha2_password |
| localhost | caching_sha2_password |
| localhost | caching_sha2_password |
+-----------+-----------------------+
分析: 与上一个例子一样,列名之间用逗号分隔

4.4 检索所有列

输入: 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 |
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| %         | 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                      |          | NULL                   | NULL                     | NULL                       |             0 |           0 |               0 |                    0 | mysql_native_password | *AE47E29BB2E9F8F1EEB97F5274458B7CBBFDDA41                              | N                | 2024-01-03 15:26:21   |              NULL | N              | Y                | Y              |                   NULL |                NULL | NULL                     | NULL            |
| 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                      |          | NULL                   | NULL                     | NULL                       |             0 |           0 |               0 |                    0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N                | 2024-01-03 15:22:18   |              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                      |          | NULL                   | NULL                     | NULL                       |             0 |           0 |               0 |                    0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N                | 2024-01-03 15:22:18   |              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                      |          | NULL                   | NULL                     | NULL                       |             0 |           0 |               0 |                    0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N                | 2024-01-03 15:22:18   |              NULL | Y              | N                | N              |                   NULL |                NULL | NULL                     | NULL            |
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
分析: 如果给定一个通配符(*),则返回表中所有列

4.5 检索不同的行

输入: SELECT plugin FROM user;
输出: 
+-----------------------+
| plugin                |
+-----------------------+
| mysql_native_password |
| caching_sha2_password |
| caching_sha2_password |
| caching_sha2_password |
+-----------------------+
​
输入: SELECT DISTINCT plugin FROM user;
输出: 
+-----------------------+
| plugin                |
+-----------------------+
| mysql_native_password |
| caching_sha2_password |
+-----------------------+
分析: SELECT DISTINCT plugin 告诉 MySQL 只返回不同(唯一)的行,因此只返回两行。如果使用 distinct 关键字必须放在列名前面

4.6 限制结果

输入: SELECT priv FROM global_grants LIMIT 12;
输出: 
+----------------------------+
| priv                       |
+----------------------------+
| SYSTEM_USER                |
| BACKUP_ADMIN               |
| CLONE_ADMIN                |
| CONNECTION_ADMIN           |
| PERSIST_RO_VARIABLES_ADMIN |
| SESSION_VARIABLES_ADMIN    |
| SYSTEM_USER                |
| SYSTEM_VARIABLES_ADMIN     |
| SYSTEM_USER                |
| APPLICATION_PASSWORD_ADMIN |
| AUDIT_ADMIN                |
| BACKUP_ADMIN               |
+----------------------------+
分析: 此语句使用 SELECT 语句检索单个列,LIMIT 12 指示 MySQL 返回不多于两行
​
输入: SELECT priv FROM global_grants LIMIT 3,8;
输出: 
+----------------------------+
| priv                       |
+----------------------------+
| CONNECTION_ADMIN           |
| PERSIST_RO_VARIABLES_ADMIN |
| SESSION_VARIABLES_ADMIN    |
| SYSTEM_USER                |
| SYSTEM_VARIABLES_ADMIN     |
| SYSTEM_USER                |
| APPLICATION_PASSWORD_ADMIN |
| AUDIT_ADMIN                |
+----------------------------+
分析: LIMIT 3,8 指示 MySQL 返回从行 3 开始的 8 行,第一个数为开始位置,第二个数为要检索的行数
注意: 第一行为行 0
​
输入: SELECT priv FROM global_grants LIMIT 8 OFFSET 3;
输出: 
+----------------------------+
| priv                       |
+----------------------------+
| CONNECTION_ADMIN           |
| PERSIST_RO_VARIABLES_ADMIN |
| SESSION_VARIABLES_ADMIN    |
| SYSTEM_USER                |
| SYSTEM_VARIABLES_ADMIN     |
| SYSTEM_USER                |
| APPLICATION_PASSWORD_ADMIN |
| AUDIT_ADMIN                |
+----------------------------+
分析: LIMIT 的另一种代替语法,意思为读取 8 行从第 3 行开始

4.7 使用完全限定的表名

输入: SELECT server_cost.cost_name FROM server_cost;
输出: 
+------------------------------+
| cost_name                    |
+------------------------------+
| disk_temptable_create_cost   |
| disk_temptable_row_cost      |
| key_compare_cost             |
| memory_temptable_create_cost |
| memory_temptable_row_cost    |
| row_evaluate_cost            |
+------------------------------+
分析: 使用完全表名是指在列名前面加上表名称,可以避免命令冲突
​
输入: SELECT server_cost.cost_name FROM mysql.server_cost;
输出: 
+------------------------------+
| cost_name                    |
+------------------------------+
| disk_temptable_create_cost   |
| disk_temptable_row_cost      |
| key_compare_cost             |
| memory_temptable_create_cost |
| memory_temptable_row_cost    |
| row_evaluate_cost            |
+------------------------------+
分析: 使用完全表名是指在表名前面加上数据库名称,可以避免命令冲突

这篇关于MySQL 保姆级教程(二):使用 MySQL 检索数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1058550

相关文章

C语言中联合体union的使用

本文编辑整理自: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=179471 一、前言 “联合体”(union)与“结构体”(struct)有一些相似之处。但两者有本质上的不同。在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

mysql索引四(组合索引)

单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引;组合索引,即一个索引包含多个列。 因为有事,下面内容全部转自:https://www.cnblogs.com/farmer-cabbage/p/5793589.html 为了形象地对比单列索引和组合索引,为表添加多个字段:    CREATE TABLE mytable( ID INT NOT NULL, use

mysql索引三(全文索引)

前面分别介绍了mysql索引一(普通索引)、mysql索引二(唯一索引)。 本文学习mysql全文索引。 全文索引(也称全文检索)是目前搜索引擎使用的一种关键技术。它能够利用【分词技术】等多种算法智能分析出文本文字中关键词的频率和重要性,然后按照一定的算法规则智能地筛选出我们想要的搜索结果。 在MySql中,创建全文索引相对比较简单。例如:我们有一个文章表(article),其中有主键ID(

mysql索引二(唯一索引)

前文中介绍了MySQL中普通索引用法,和没有索引的区别。mysql索引一(普通索引) 下面学习一下唯一索引。 创建唯一索引的目的不是为了提高访问速度,而只是为了避免数据出现重复。唯一索引可以有多个但索引列的值必须唯一,索引列的值允许有空值。如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该使用关键字UNIQUE,把它定义为一个唯一索引。 添加数据库唯一索引的几种

mysql索引一(普通索引)

mysql的索引分为两大类,聚簇索引、非聚簇索引。聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引则不同。聚簇索引能够提高多行检索的速度、非聚簇索引则对单行检索的速度很快。         在这两大类的索引类型下,还可以降索引分为4个小类型:         1,普通索引:最基本的索引,没有任何限制,是我们经常使用到的索引。         2,唯一索引:与普通索引

Lipowerline5.0 雷达电力应用软件下载使用

1.配网数据处理分析 针对配网线路点云数据,优化了分类算法,支持杆塔、导线、交跨线、建筑物、地面点和其他线路的自动分类;一键生成危险点报告和交跨报告;还能生成点云数据采集航线和自主巡检航线。 获取软件安装包联系邮箱:2895356150@qq.com,资源源于网络,本介绍用于学习使用,如有侵权请您联系删除! 2.新增快速版,简洁易上手 支持快速版和专业版切换使用,快速版界面简洁,保留主

如何免费的去使用connectedpapers?

免费使用connectedpapers 1. 打开谷歌浏览器2. 按住ctrl+shift+N,进入无痕模式3. 不需要登录(也就是访客模式)4. 两次用完,关闭无痕模式(继续重复步骤 2 - 4) 1. 打开谷歌浏览器 2. 按住ctrl+shift+N,进入无痕模式 输入网址:https://www.connectedpapers.com/ 3. 不需要登录(也就是

【服务器运维】MySQL数据存储至数据盘

查看磁盘及分区 [root@MySQL tmp]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical)