MySQL数据库--DQL语言

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

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 I

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园的建设目标是通过数据整合、全面共享,实现校园内教学、科研、管理、服务流程的数字化、信息化、智能化和多媒体化,以提高资源利用率和管理效率,确保校园安全。 智慧校园的建设思路包括构建统一支撑平台、建立完善管理体系、大数据辅助决策和建设校园智慧环境。通过云架构的数据中心与智慧的学习、办公环境,实现日常教学活动、资源建设情况、学业水平情况的全面统计和分析,为决策提供辅助。此外,智慧校园还涵盖了多媒体教学、智慧录播、电子图书馆、VR教室等多种教学模式,以及校园网络、智慧班牌、校园广播等教务管理功能,旨在提升教学品质和管理水平。 智慧校园的详细方案设计进一步细化了教学、教务、安防和运维等多个方面的应用。例如,在智慧教学领域,通过多媒体教学、智慧录播、电子图书馆等技术,实现教学资源的共享和教学模式的创新。在智慧教务方面,校园网络、考场监控、智慧班牌等系统为校园管理提供了便捷和高效。智慧安防系统包括视频监控、一键报警、阳光厨房等,确保校园安全。智慧运维则通过综合管理平台、设备管理、能效管理和资产管理,实现校园设施的智能化管理。 智慧校园的优势和价值体现在个性化互动的智慧教学、协同高效的校园管理、无处不在的校园学习、全面感知的校园环境和轻松便捷的校园生活等方面。通过智慧校园的建设,可以促进教育资源的均衡化,提高教育质量和管理效率,同时保障校园安全和提升师生的学习体验。 总之,智慧校园解决方案通过整合现代信息技术,如云计算、大数据、物联网和人工智能,为教育行业带来了革命性的变革。它不仅提高了教育的质量和效率,还为师生创造了一个更加安全、便捷和富有智慧的学习与生活环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值