mysql 入门&精通_MySQL从入门到精通

目录

第1章 数据库概述

数据库优点

持久化数据

方便检索

存储大量数据

共享、安全

通过组合分析,获取新的数据

数据库的常见概念

DB:数据库,存储数据的仓库

DBMS:数据库管理系统,又称为数据库软件或者数据库产品,用于创建和管理数据库,常见的有MySQL、Oracle、SQL Server

DBS:数据库系统,数据库系统是一个通称,包括数据库、数据库管理系统、数据库管理人员等,是最大的范畴

SQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言

数据库的存储特点

数据存放到表中,然后表再放到库中

一个库中可以有多张表,每张表具有唯一的表名用来标识自己

表中有一个或多个列,列又称为“字段”,相当于Java中“属性”

表中的每一行数据,相当于Java中“对象”

数据库的常见分类

关系型数据库:MySQL、Oracle、DB2、SQL Server

非关系型数据库:

* 键值存储数据库:Redis、Memcached、MemcacheDB

* 列存储数据库:HBase、Cassandra

* 面向文档的数据库:MongDB、CouchDB

* 图形数据库:Neo4J

第2章 MySQL

MySQL的启动与退出

图形化界面:【此电脑】-右键-【管理】–【服务和应用程序】–【服务】–【MySQL】-右键-【启动】/【停止】

b15dc9642bd099cc1b60a8390851c62e.png

DOS命令行:以管理员身份运行

输入

net start MySQL

net stop MySQL

MySQL的登录与退出

DOS命令行:

mysql -h主机名 -P端口号 -u用户名 -p密码

本机可省略 -h

端口为3306可省略 -P

mysql -uroot -p****

exit

bc70d090a71bf77020c14f9553bf8b41.png

SQLyog可视化数据库管理

第3章 SQL语句

SQL概述

SQL(Structured Query Language),结构化查询语言,对关系型数据库的操作语言,可以应用到所有关系型数据库中

MySQL中的LIMIT语句是它独有的方言

语法要求

SQL语句可以单行或多行书写,以分号结尾

可以使用空格和缩进

关键字不区分大小写,建议使用大写

分类

DDL(Data Definition Language):数据定义语言,用来以定义数据库对象:库、表、列等;

create/drop/alter

DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据)

Insert/updata/delete

DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别

**DQL(Date Query Language):**数据查询语言,用来查询记录(数据)

select

DQL

基础查询

语法

SELECT 查询列表 FROM 表名;

特点

查询列表可以是字段、常量、函数、表达式,多个部分以逗号隔开

查询结果是一个虚拟表

先执行from,再执行select

示例

1、查询单个字段

SELECT `字段名` FROM `表名`;

最好加入着重号`,防止与某些关键字重复

2、查询多个字段

SELECT `字段名`,`字段名` FROM `表名`;

选中所有字段名,按F12即可对齐格式

3、查询所有字段

SELECT * FROM 表名;

4、查询常量

SELECT 常量值;

注意:字符型和日期型的常量值必须用单引号引起来,数值型不需要

5、查询函数

SELECT 函数名(实参列表);

contect();将两个表组合

6、查询表达式

SELECT 100%25;

7、起别名

SELECT 字段名 AS "别名" FROM 表名;

注意:别名可以使用单引号、双引号引起来,当只有一个单词时,可以省略引号,当有多个单词且有空格或特殊符号时,不能省略,AS可以使用空格代替

8、去重复

SELECT DISTINCT 字段名 FROM 表名;

9、做加法(mySQL + 只作为加法运算)

1、 SELECT 数值+数值; 直接运算

2、 SELECT 字符+数值; 首先先将字符转换为整数,如果转换成功,则继续运算,如果转换失败,则默认为0,然后继续运算

3、 SELECT NULL+数值; NULL和任何数值参与运算结果都是NULL

10、查看表的结构

DESC 表名;

11、ifnull函数

功能:判断某字段或表达式是否为null,如果为null,返回指定的值,否则返回原本的值

SELECT IFNULL(字段名, 指定值) FROM 表名;

12、isnull函数

功能:判断某字段或表达式是否为null,如果是null,则返回1,否则返回0

SELECT ISNULL(字段名) FROM 表名;

条件查询

一、语法

SELECT 查询列表 FROM 表名 WHERE 筛选条件;

先执行FROM

再WHRER

再SELECT

二、分类

条件运算符:>、>=、安全等于,还可以判断null、不等于:<>、不建议使用!=

#1、查询工资>=12000的员工信息

SELECT

*

FROM

employees

WHERE salary >= 12000 ;

逻辑运算符:and、or、not , 不建议使用&& || !

#查询工资<=12000||工资>=18000的员工信息

SELECT

*

FROM

employees

WHERE salary <= 12000 OR salary >= 18000 ;

模糊运算符:

like:和通配符搭配使用(类似正则表达式):%任意多个字符、_任意单个字符,如果有特殊字符,需要使用转义字符\

between XX and YY/ not between XX and YY :判断某个字段的值是否介于XX和YY之间

XX要小于等于YY

in(字段1,字段2…),查询某字段的值是否属于指定的列表内

not in()

注意:in列表的值类型必须一致或兼容,in列表中不支持通配符%和_

字段 is null/is not null:查询某字段的值是否为空

#1.查询姓名中包含第二个字符为_的员工信息

SELECT *

FROM employees

WHERE last_name LIKE '_$_%' ESCAPE '$';

#代表$成为一个转义字符

#查询员工的工种编号是 IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号

SELECT

last_name,

job_id

FROM

employees

WHERE job_id IN ('IT_PROT', 'AD_VP', 'AD_PRES') ;

注意:=、!=不能用来判断NULL、而<=>、is null 、 is not null可以用来判断NULL,但注意<=>也可以判断普通类型的数值

排序查询

一、语法

SELECT

查询列表

FROM

WHERE 筛选条件

ORDER BY 排序列表 asc | desc;

查出数据后再排序

排序列表可以是单个字段、多个字段、别名、函数、表达式

asc代表升序,desc代表降序,如果不写,默认是asc

order by的位置一般放在查询语句的最后(除limit语句之外)

#按多个字段查询:查询员工信息,要求先按工资降序,再按员工编号升序

SELECT

*

FROM

employees

ORDER BY salary DESC, employee_id ASC ;

标签:精通,入门,SQL,数据库,表名,查询,MySQL,SELECT

来源: https://blog.csdn.net/weixin_45907832/article/details/113193043

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值