目录
MySQL数据库
一、数据库概述
1、数据库简介
2、数据库好处
3、数据库相关概念
二、MySQL介绍及常用命令
1、MySQL介绍
2、MySQL服务的启动和停止
3、MySQL服务的登录和退出
4、MySQL语法规范
三、SQL语言分类
1、DML(Data Manipulate Language):数据操纵语言
2、DQL (Data Query Language):数据查询语言
3、DDL
数据库指的是长期存在计算机内、有组织、可共享的、大量数据的集合。数据是按照特定的数据模型来组织、存储在数据库中的。
(1)持久化数据到本地 (2)可以实现结构化查询,方便管理
DB(database):数据库,保存一组有组织的数据的容器
DBMS(Database Management System):数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据
常见DBMS:MySQL、Oracle、DB2、SqlServer等
SQL(Structured Query Language):结构化查询语言,用于和数据库通信的语言,操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准。
MySQL 是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言紧密结合的数据库系统。该数据库系统是由瑞典的 MySQL AB 公司开发、发布并支持,由 MySQL 的初始开发人员 David Axmark 和 Michael Monty Widenius 于 1995 年建立的
官方网址:MySQL
方式一:计算机——右击管理——服务——MySQL 方式二:通过管理员身份运行cmd命令提示行 net start mysql(启动服务) net stop mysql(停止服务)
方式一:通过MySQL自带的客户端(只限于root用户)
方式二:通过cmd命令提示行关闭,如果未配置MySQL环境变量,需在MySQL安装的bin下启动cmd
登录:mysql -h主机名 -P端口号(端口号和p之间不能有空格)-u用户名 -p密码
退出:exit或ctrl+C
不区分大小写
使用“ ;”结尾
各子句一般分行写
关键字不能缩写也不能分行
合理使用缩进
注释 单行注释:# 。。。 单行注释:-- 。。。 多行注释:/* 。。。 */
简单查询
(1)查询数据库: show databases;
(2)查询库中所有表名:select tables from 数据库名;
(3)查看当前所在库:select database();
(4)基础查询
多个字段的查询:select 字段名1,字段名2... from 表名;
注意:
如果查询所有字段,则可以使用*来替代字段列表。
DML(Data Manipulate Language):数据操纵语言,用于添加、删除、修改数据库记录,并检查数据完整性
关键字:insert, delete, update 等
DDL(Data Define Languge):数据定义语言,用于库和表的创建、修改、删除
关键字:create, drop,alter等
DCL(Data Control Language):数据事务语言
DQL(Data Query Language):数据查询语言,用来查询数据库中表的记录(数据)
关键字:select, where 等
1.1、关键字:insert、update、delete
1.2、语法:
1.2.1、添加数据:
给指定字段添加数据: insert into 表名 (字段1,字段2, ....)values (值1 ,值2, ......);
给全部字段添加数据: insert into 表名 values(值1 , 值2 ,.......);
注:(1)指定字段顺序需要与值的顺序一一对应。
(2) 字符串和日期类型数据都应包含在引号中。
(3)插入数据的大小应在指定范围内
1.2.2、修改数据:
修改指定数据:update 表名 set 字段1=值1,字段2=值2,... where 条件;
注:若where条件语句不存在,则修改全表数据
1.2.3、删除数据:
删除指定数据:delete from 表名 where 条件;
注:若where条件语句不存在,则修改全表数据;不能单独删除某个字段的值
2.1、关键字: select
2.2、编写顺序: select 字段 from 表名 where 条件 group by 分组字段 having 分组后条件
order by 排序字段 limit 分页参数
2.3、语法:
2.3.1、基础查询:
查询指定字段:select 字段1 ,字段2 , .... from 表名;
查询全部内容:select * from 表名;
2.3.2、设置别名:select 字段1 as 别名 ,字段2 as 别名 ,.... from 表名; as可省略
2.3.3、去除重复:select distinct 字段列表 from 表名;
2.3.4、条件查询:select 字段 from 表名 where 条件;
条件:
(1)where子句后跟条件
(2)运算符
、< 、<= 、>= 、= 、<>
BETWEEN...AND
IN( 集合)
LIKE:模糊查询
占位符:
_:单个任意字符
%:多个任意字符
IS NULL
and 或 &&
or 或 ||
not 或 !
2.3.5、聚合函数:将一列数据作为一个整体,进行纵向计算
一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)
ifnull(表达式1,表达式2):null参与的运算,计算结果都为null
表达式1:哪个字段需要判断是否为null
如果该字段为null后的替换值。
常见聚合函数:
语法:select 聚合函数 (字段列表)from 表名;
注:null不参与所有聚合函数运算
2.3.6、分组查询:select 字段列表, from 表名 where 条件 group by 分组字段 having 分组后过滤条件
注:执行顺序:where>聚合函数>having
where和having的区别:
先where后分组,先分组后having;where不能判断聚合函数,having可以
2.3.7、排序查询:select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2;
排序方式:asc :升序;desc :降序;
注:多字段排序只有第一个字段相同时,才会根据第二个字段来排序
2.3.8、分页查询:select 字段列表 from 表名 limit 起始索引,查询记录数;
注:从0开始索引,例:起始索引=(正常查询页码-1)
关键字:create, drop,alter
(1)创建表:create table 表名(列名1 数据类型1,列名2,数据类型2,...... );
(2)查看当前目录下的表:show tables;
(3)查看表的详细信息:desc 表名;
(4)查看表内所有数据:select * form 表名;
(5)给表中插入数据:insert into 表名 (列名1,列名2...) values(数据1,数据2...);
(6)删除数据库:Drop database (if exists) 数据库名;
(7)使用数据库:use 数据库名;
(8)查询
1)查询所有数据库: SHOW DATABASES;
2)查询当前数据库:SELECT DATABASE();
主要分为三类:数值类型、字符串类型、日期时间类型
1、数值类型
2、字符串类型
3、日期时间类型