MySQL数据库--DQL语言

本文详细介绍了MySQL数据库的基础知识,包括数据库的好处、服务端配置、启动和停止服务的命令,以及常见的MySQL命令。接着深入讲解了DQL语言,涵盖基础查询、条件查询、模糊查询、排序查询等,同时讨论了各种函数的使用,如字符函数、数学函数和日期函数,并提供了丰富的示例和作业案例,帮助读者掌握数据查询技巧。

MYSQL

一、为什么要学数据库

保存数据的容器:

​ 数组 (存到内存中)

​ 集合 (存到内存中)

​ 文件(存没问题,但是不太适合查询)

​ 故需要一套管理系统去管理里边的数据

数据库的好处:

  • 实现数据持久化
  • 使用完整的管理系统统一管理,易于查询

数据库的相关概念:

​ DB: database 存储数据的仓库,保存了一系列有组织的数据(Mysql,Oracle贵,DB2,SQLServer(只能在windows下))

​ DBMS:Database management system 数据库管理系统,用于管理db中的数据,数据库是通过dbms创建和操作的容器

​ 多台客户端—》数据库管理系统----》多个数据库

​ SQL:结构化查询语言,专门用来与数据库通讯的语言,几乎所有DBMS都支持SQL,简单易学,灵活使用可以进行非常复杂和高级的数据库操作。

DBMS分为两类:

  • 基于共享文件系统的DBMS(access)
  • 基于CS架构(客户端服务端)的DBMS(mysql,Oracle,SqlServer)

[mysqld] 服务端配置

port=3306

basedir = ‘…’ 表示安装目录

datadir = ‘…’ 表示文件目录

character-set-server = utf8 字符集

default-storage-engine=INNODB 数据库引擎

max_connetions = 100 最大连接数

修改完配置后需要重启

mysql服务的启动和停止

windows

​ 停止服务 net stop mysql

​ 启动服务 net start mysql

linux

​ 停止服务 service mysqld stop

​ 启动服务 service mysqld start

mysql -h localhost -P 3306 -u root -pmysql 这里输入密码是不可以有空格,其他参数有无都行

exit 退出

mysql常见命令

show databases; 查看数据库

​ information_schema 保持元数据信息

​ performance_schema 性能信息

​ test 测试数据库

​ mysql 保存用户信息

use test 进入库

​ source sql文件路径;导入目标数据库,路径可以直接拖拽sql文件到黑窗口获得。

​ show tables 查看库下表

​ show tables from mysql 查看所写库下表

select database()  查看当前所在库

​ create table student(id int,name varchar(20)); 创建表

​ desc student 查看表结构

​ select * from student 查看表中数据

​ insert into student (id,name) values(2,‘mingzhe’); 向表中插入数据

​ update student set name=‘lilei’ where id = 1 修改数据

​ delete from student where id = 2;删除数据

select version() 查看数据库版本

在命令行界面中 mysql --version 查看版本

在命令行界面中 mysql --V 查看版本

mysql语法规范

  1. 不区分大小写,建议关键字大写,表面列明小写
  2. 每条命令用;结尾
  3. 每条命令根据需求可以进行缩进,换行,建议关键字单独一行。
  4. 注释,用于解释说明
    1. 单行注释 # 注释文字
    2. 单行注释 – 注释文字 注意有空格
    3. 多行注释 /* 注释文字 */

DQL语言学习

​ data query languge数据查询语言 查

基础查询
查询表中单个字段

​ select 查询列表 from 表名

​ 查询列表可以是:表中字段,常亮,表达式,函数

​ 查询结果是一个虚拟的表格

​ select id from apple;

查询表中多个字段

​ select 字段一,字段二,… from 表名

​ 查询字段顺序和个数都可以和原表不一致,个数和顺序按需求

​ select id,name from apple;

查询表中所有字段

​ select * from 表名

​ * 代表的是所有的字段,顺序和源试表一样。

​ 若想通读写更好,更加灵活,则拼写全字段查询。

​ select * from apple;

查询时细节补充

​ 1.查询时要打开指定的库

​ 2.当字段被当成关键字时,使用 ‘’ 着重符来增加可读性

​ 3.Navicat选中所选语句,可以部分执行

查询常量值

​ select 常量值:

​ 常量值不来自于某表故不用from

​ 显示字段名为其本身

​ select 100;

​ select ‘john’;

​ select 表达式:

​ select 100*98;

​ select 函数:

​ select varsion();

为字段起别名

​ select 字段 as 别名 from 表名:

​ 方便理解,增加可读性

​ 若查询字段有重名情况,则起别名可以区分开来

​ select id as 序号,name as 姓名 from apple

​ select 字段 别名 from 表名:

​ as 可以省略

​ 若别名有特殊符号空格 #等,则需给别名加上双引号

​ select id 序号,name 姓名 from apple

字段去重

​ select distinct 字段 from 表名:

​ select distinct name from apple;

+号的作用

​ select 值一+值二 ;

​ mysql的+号只有一个功能,就是运算符

​ select 100 + 90; 若俩操作值都为数值型,则做加法运算

​ select ‘123’ +90;若一方为字符型,试图转换为数值型,成功则运算

​ selecr ‘abc’ + 90; 失败则字符串为0,在运算

​ select null + 90; 只要一方为null,则结果为null

	select 'null' + 90 ; 结果为90
CONCAT实现拼接

​ select concat(‘字符一’,‘字符二’,‘字符三’) as 结果:

​ select concat(‘id’,‘name’) as ‘信息’ from apple;结果全为 idname

​ select concat(id,name) as ‘信息’ from apple; 结果为两字段拼接

IFNUll判断是否为空

​ select IFNULL(字段,为空所设值) 新字段名;

​ 为空监测,为空了则替换为其所设值

​ select IFNULL(name,‘default’) as new_name from apple;

条件查询
WHERE语法

​ select 查询列表 from 表名 where 筛选条件;

​ 执行顺序:from先查看有无表名,在where进行筛选,select在选择字段

条件表达式筛选

​ 条件运算符 < > = != <> >= <=

​ <> 和 != 都为不等于,最好按<>使用

​ 查询id>1的人: select * from apple where id >1;

逻辑表达式筛选

​ 逻辑运算符 && || ! and or not

​ 主要作用就是为了连接条件表达式

​ &&和and :俩都满足则满足

​ ||和or:一个满足则满足

​ !和not:取反情况

​ case1:查询id在1到3之间的人:select id,name from apple where id >=1 and id <= 3;

​ case2:查询id不是在90到100之间的,或者工资高于15000的员工:

​ select last_namr from employees where id<=90 or id >= 100 or salary >= 15000;

​ select last_namr from employees where not(id>=90 and id <= 100) or salary >= 15000;

模糊查询
like

​ 一般和通配符搭配使用

​ %表示任意多个字符,包含零个字符

​ _表示任意单个字符

​ \转义符当通配符出现在查询条件中使用

​ escape 指定转移字符

​ case1:查询名字包含a的:

​ select name from apple where name like ‘%a%’;

​ case2:查询二字符为a,五字符为b的:

​ select name from apple where name like “_a__b”

​ case3:查询一字符为_的:

​ select name from apple where name like “\_*”

​ select name from apple where name like “_a%” escape ‘a’;

between and

​ 包含临界值

​ 前后临界值大小顺序不能变,调换后不报错,但没数据。

​ 提高语句简洁度

​ case1:查询id在3-5之间的

​ select name from apple where id between 3 and 5;

in

​ 用于判断某值是否属于列表中某一项

​ in列表的值类型必须一致或兼容(“123”可以转为整性,与数值性兼容)

​ 不可以使用通配符,in等价于 =号,而不是like

​ case1 :查询员工的工种编号是 IT_PROG,AD_VP,AD_PERS中的一个员工名和工种编号

​ select * from emploees where job_id in(‘IT_PROG’,‘AD_VP’,‘AD_PERS’)

is (not) null

​ =不可以判断null值

​ case1:没有奖金的员工

​ select * from employees where commission_pct is null;

​ case2:有奖金的员工

​ select * from employees where commission_pct is not null;

安全等于

​ <=> 可以判断普通类型的值, 也可以去判断null值

​ 代表的是判断是否等于,但是可读性比较差。

作业

case1:工资大于12000的姓名和工资

​ SECELT name,salary FROM employees WHERE salary >= 12000;

case2:员工号为176的员工的姓名和部门号和年薪

​ SELECT name,depatment_id,(salary +IFNULL(goal,0) )*12 as money from employees WHERE id = 176;

case3:选择工资不在5000-12000的姓名和工资

​ SELECT name,salary FROM employees WHERE salary not between 5000 and 12000;

case4:选择20或50号部门工作的员工姓名和部门号

​ SELECT name,depatment_id FROM depatment_id in(20,50);

case5:选择公司中没有管理者的员工姓名和部门号

​ SELECT name,depatment_id FROM manage IS NULL;

case6:选择公司中有奖金的员工姓名,工资和奖金级别

​ SELECT name,salary,rank FR

## 软件功能详细介绍 1. **文本片段管理**:可以添加、编辑、删除常用文本片段,方便快速调用 2. **分组管理**:支持创建多个分组,不同类型的文本片段可以分类存储 3. **热键绑定**:为每个文本片段绑定自定义热键,实现一键粘贴 4. **窗口置顶**:支持窗口置顶功能,方便在其他应用程序上直接使用 5. **自动隐藏**:可以设置自动隐藏,减少桌面占用空间 6. **数据持久化**:所有配置和文本片段会自动保存,下次启动时自动加载 ## 软件使用技巧说明 1. **快速添加文本**:在文本输入框中输入内容后,点击"添加内容"按钮即可快速添加 2. **批量管理**:可以同时编辑多个文本片段,提高管理效率 3. **热键冲突处理**:如果设置的热键与系统或其他软件冲突,会自动提示 4. **分组切换**:使用分组按钮可以快速切换不同类别的文本片段 5. **文本格式化**:支持在文本片段中使用换行符和制表符等格式 ## 软件操作方法指南 1. **启动软件**:双击"大飞哥软件自习室——快捷粘贴工具.exe"文件即可启动 2. **添加文本片段**: - 在主界面的文本输入框中输入要保存的内容 - 点击"添加内容"按钮 - 在弹出的对话框中设置热键和分组 - 点击"确定"保存 3. **使用热键粘贴**: - 确保软件处于运行状态 - 在需要粘贴的位置按下设置的热键 - 文本片段会自动粘贴到当前位置 4. **编辑文本片段**: - 选中要编辑的文本片段 - 点击"编辑"按钮 - 修改内容或热键设置 - 点击"确定"保存修改 5. **删除文本片段**: - 选中要删除的文本片段 - 点击"删除"按钮 - 在确认对话框中点击"确定"即可删除
### 初识 MySQL 数据库基础 #### MySQL 的基本概念 MySQL 是一种基于客户机/服务器模式的网络服务,其中客户端应用程序名为 `mysql`,而服务端应用程序为 `mysqld`[^1]。作为一种关系型数据库管理系统 (RDBMS),MySQL 支持标准 SQL 语句来管理和操作数据。然而,除了遵循标准 SQL 外,MySQL 还提供了自己特有的扩展语法。 #### 安装与配置 对于想要学习和使用 MySQL 的用户来说,可以选择免费获取的小型服务器资源或支付大约每年一百多的服务费用来运行 MySQL 实例[^3]。为了验证安装是否成功,可以通过命令行工具执行如下指令: ```bash which mysql; which mysqld; ``` 上述命令会显示 MySQLmysqld 可执行文件的位置路径,从而确认环境变量设置无误并能正常调用这两个程序。 #### SQL 语言的作用 SQL(Structured Query Language),即结构化查询语言,被广泛应用于各种关系型数据库管理系统的交互中,包括但不限于 MySQL、Oracle 和 SQL Server 等。尽管 NoSQL 类型的数据存储解决方案通常拥有独立的操作接口而不完全兼容传统意义上的 SQL,但大多数 RDBMS 都支持这一通用的标准语言来进行数据定义、操纵及控制等活动[^2]。 #### DQL 查询语言的重要性 在日常工作中,开发人员最常接触到的是 DQL(Data Query Language)。这类 SQL 声明主要用于检索信息而不是改变任何持久化的状态;因此,在处理复杂查询方面显得尤为重要且具有挑战性[^4]。 #### 数据库模式的理解 理解数据库中的“模式”非常重要。“模式”是对整个数据库内所有对象及其属性的一种抽象表示方法,它描述了数据的整体逻辑架构而非具体数值。这意味着一旦确定下来之后,“模式”的变化频率较低,相比之下实际存放在里面的“实例”则可能频繁更新换代[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值