一、MySQL安装
参见:https://www.runoob.com/mysql/mysql-install.html
二、MySQL简介
2.1.MySQL 是什么
MySQL 是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言紧密结合的数据库系统。该数据库系统是由瑞典的 MySQLAB 公司开发、发布并支持,由 MySQL 的初始开发人员 David Axmark 和 Michael Monty Widenius 于1995 年建立的。
2.2.SQL、DB、DBMS概述
DB:Database(数据库) DBMS:DataBase Management
System(数据库管理系统,如:MySQL、Oracle、DB2、Sybase、SqlServer等)
SQL:结构化查询语言,标准的SQL语句适用于所有数据库产品(属于高级语言)
DBMS负责执行SQL语句,通过执行SQL语句操作DB中的数据
三、数据库
表(table)是数据库的最基本组成单元,所有数据都以表格形式组织。
3.1.SQL语句
任何一条SQL语句以 “ ; ” 结尾并且不区分大小写
标准SQL语句中要求字符串单引号,如:‘字符串名’
DQL(数据查询语言):查询语句(select)
DML(数据操作语言):对表中的数据进行增(insert)、删(delete)、改(updata)
DDL(数据定义语言):对表结构进行增(create)、删(drop)、改(alter)
TCL(事务控制语言):提交事务(commit)、回滚事务(rollback)
DCL(数据控制语言):授权(grant)、撤销权限(revoke)
3.2.MySQL常用命令
//mysql登录
mysql -u用户名 -p密码
//退出数据库
exit或者\q
//查看包含哪些数据库
show databases;
//创建新数据库
create 数据库名;
//使用’数据库’数据
use 数据库名;
//查看当前数据库中包含哪些表
show tables;
//初始化数据
source sql脚本路径;
//删除数据库
drop database 数据库名;
//查看表结构
desc 表名;
//终止一条语句
\c
//查看当前所使用的数据库
select database();
//查看数据库版本号
select version();
查看建表语句
show table 表名;
3.3.简单查询语句(DQL)
//从指定表中选取字段1,字段1,字段3,…
select 字段1,字段1,字段3,.... from 表名;
// 给查询字段重命名
select 字段1 as 新名字 from 表名;
//查询指定表所有字段(效率低)
select * from 表名;
3.4.条件查询
//语法格式:
//执行顺序:from---->where---->select
select
字段1,字段2,字段3,...
from
表名
where
条件;
条件运算符
运算符 | 说明 |
---|---|
!= 或<> | 不等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
between…and… | 两个值之间,等同于 >=and<= |
is null | 为null |
and | 并且 |
or | 或者 |
in | 包含 |
not | 取非 |
like | 模糊查询,%:任意多个字符;_:任意一个字符 |
3.5.排序
//语法格式:
//执行顺序:from---->where---->select--->order by
select
字段1,字段2,字段3,...
from
表名
where
条件
order by
//(默认升序排列,asc:升序;desc:降序)
//越靠前的字段越能起主导作用,只有当前字段无法排序是才启用后面字段
字段1 asc/desc,
...,
字段n asc/desc;
3.6.分组函数(多行处理函数)
分组函数自动忽略null;
分组函数总是对"一组数据"进行处理;
分组函数不可以直接使用在where后;
分组函数可以组合使用
group by在where之后执行
//语法格式
//执行顺序:from--->group by--->having--->select--->order by
select
分组函数(字段)
from
表名
group by
字段1,字段2,...
having
条件
order by
...
;
count | 计数 |
sum | 求和 |
avg | 平均值 |
max | 最大值 |
min | 最小值 |
group by | 按照某个字段进行分组 |
having | 对分组之后的数据再次过滤 |
union | 查询结果集相加 |
count(*):统计总记录条数
count(某个字段):统计某个字段中不为null的数据总数据
3.7.去除重复记录
distinct只能出现在所有字段最前面
//语法格式
select
distinct
字段1,字段2,...
from
表名