MySQL数据库 (从入门到精通)
MySQL数据库
大纲:
- MySQL数据库安装与配置
- MySQL表操作
- MySQL基本查询
- MySQL高级查询
- MySQL写入操作
- MySQL基本函数
- MySQL的综合应用
一、数据库的概念
1.1 数据库的基础知识
-
数据库:数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以通过SQL对数据库中的数据进行增加,修改,删除及查询操作。
-
关系型数据库:数据库中的记录是有行有列的数据库就是关系型数据库,与之相反的就是NoSQL数据库了。
-
数据库和表:数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用 于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据 库管理系统访问数据库中表内的数据。
-
关系型数据库系统: 关系型数据库系统( RDBMS) Relational database management system :是指使用了关系模型的数据库系统。关系模型中,数据是分类存放的,数据之间可以有联系
-
第一个关系型数据库 :1976年BM的 System R团队在出版的论文中阐述了关系模型,1979年 Oracle公司推出了首个关系型数据库成品。
-
关系型数据的应用:关系型数据库被应用在非常多的领域,教育系统,商业系统,医疗系统,而且关系型数据库可以有效组织和管理大量复杂的数据,所以关系型数据库才是最重要的数据库产品。
1.2 关系型数据库
- 概念:数据库中的记录是有行有列的数据库就是关系型数据库
1.2.1 常见的关系型数据库管理系统 (主流SQL数据库)
-
MySQL :开源免费的数据库,小型的数据库 已经被Oracle收购了。
-
MySQL5.5版本之后都是由 Oracle发布的版本。
-
Oracle :收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MySQL。
-
DB2 :IBM公司的数据库产品,收费的。常应用在银行系统中。在中国的互联网公司,要求去 IOE(IBM小型机、Oracle数据库、EMC存储设备)
-
SQLServer:MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用。
-
SyBase :已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner。
-
SQLite : 嵌入式的小型数据库,应用在手机端。
1.3 NoSQL数据库系统
- 概念:NoSQL数据库指的是数据分类存放,但是数据之间没有关联关系的数据库系统
1.3.1 常见的非关系型数据库管理系统 (主流的NoSQL数据库)
- Redis 内存保存数据秒杀 ,微博
- MemCache:相似于Redis,市场份额不是很大
- MongoDB: 硬盘保存数据,知乎,简书
- Ne04j:负责的人际关
1.4 MySQL数据库安装与初始化
MySQL数据库: MySQL是应用最广泛、普及度最高的开源关系型数据库,MySQL由瑞典 MySQL AB公司开发,目前属于 Oracle旗下产品
MySQL 大事记
1996 MySQL1.0 诞生
1999 MySQL AB公司成立
2000 MySQLL4.0发布
2003 MySQL5.0发布
MySQL衍生版
Oracle
MariaDB
Percona
1.5 用户管理
MySQL客户端:Navicat,DBeaver
官网地址: https://www.navicat.com.cn
密码忘记重设置root密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ′123456′
1.6 MySQL配置文件
MySQL配置文件
在my.ini文件中,我们可以设置各种 MySQL的配置,例如字符集、端口号、目录地址等等[client]
#客户端信息配置信息
[mysql] #客户端信息配置信息
[mysqld] #数据库配置信息
[client]
port=3306
[mysql]
no-beep
port=3306 #端口号
datadir=C:/ ProgramData/ MySQL/ MySQL Server8.0/Data #数据目录
default authentication_ plugin= caching sha2_ password #密码认证插件
default- storage- engine= INNODB #默认存储引擎
sq1-mode=" STRICT TRANS TABLES, NO ENGINE SUBSTITUTION" #开启严格模式
log- output=FILE #用文件记录日志
genera1-10g=0 #关闭日志输出
genera1_1 og file=" DESKTOP-HB42AU2.1og" #日志文件名称
slow- query-1og=1 #开启慢查询日志
query_1 og file=" DESKTOP-HB42AU2-s1ow.1og" #慢查询日志文件名称
long query time=10 #大于多少秒的执行SQL被记录在慢查询日志
log- error=" DESKTOP-HB42AU2.err” #错误日志名称
server-id=1 #数据库ID
lower case table names=1 #把表名转换成小写
secure-f1le-priv="C:/ ProgramData/MyQL/ lySQL Server8.0/ Uploads" #导入导出数据的目录地址
max connections=151 #最大连接数
table open cache=2000
tmp table size=16M
thread cache size=10#线程数量
myisam max sort file size=100G
myisam sort buffer size=8M
key buffer size=8M
read buffer size=0
2. 数据库表的相关操作
学习目标
管理逻辑库和数据表
创建、删除、修改逻辑库和数据表
了解常用的数据类型和约束
字符串、整数、浮点数、精确数字、日期、枚举。
主键约束、非空约束、唯一约束、外键约束等
掌握索引运行机制和使用原则
排序为什么可以提高数据检索速度?
怎么创建和删除索引?
什么条件下使用索引?
2.1 定义逻辑库,数据表
什么是SQL语言:
- SQL是用于访问和处理数据的标准的计算机语言
SQL语言分类
- DML:添加 修改 删除 查询
- DCL:用户 权限 事务
- DDL:逻辑库 数据表 视图 索引
SQL语句注意事项
- SQL语句不区分大小写,但是字符串区分大小写
SELECT “HelloWorld”;
- SQL语句必须以分号结尾,SQL语句中的空白和换行没有限制,但是不能破坏语法
SQL语句的注释
-SQL语句的注释有两种,分别如下:
#这是一段注释文字
/*这是另一段注释文字*/
创建逻辑库
CREATE DATABASE 逻辑库名称 #创建逻辑库
DROP DATABSE 逻辑库名称 ;#展示逻辑库
CREATE DATABASE student #创建逻辑库
DROP DATABASE student #删除逻辑库
SHOW DATABASES; #展示逻辑库
创建数据表
CREATE TABLE数据表 (
列名1 数据类型 [约束][ COMMENT注释],
列名2 数据类型 [约束][ COMMENT注释],
...
)[ COMMENT=注释];
CREATE TABLE student(
id INT UNSIGNED PRIMARY KEY, #unsigned:无符号
NAME VARCHAR(20) NOT NULL,
sex CHAR(1) NOT NULL,
birthday DATE NOT NULL,
tel CHAR(11) NOT NULL,
remark VARCHAR(200)
);
写入数据表
SHOW tables;#查看逻辑表
DESC Student;#查看数据表
SHOW CREATE TABLE student,#查询建表语句
DROP TABLE Student#删除表文件