首页 / MYSQL / MySQL从入门到精通
MySQL从入门到精通
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL从入门到精通,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4874字,纯文字阅读大概需要7分钟。
内容图文
目录
第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】-右键-【启动】/【停止】
- DOS命令行:以管理员身份运行
输入
net start MySQL
net stop MySQL
MySQL的登录与退出
DOS命令行:
mysql -h主机名 -P端口号 -u用户名 -p密码
本机可省略 -h
端口为3306可省略 -P
mysql -uroot -p****
exit
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 ;
内容总结
以上是互联网集市为您收集整理的MySQL从入门到精通全部内容,希望文章能够帮你解决MySQL从入门到精通所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。