前言
为啥学习MySQL
呢?因为MySQL
是最流行的关系型数据库管理系统之一,在web
应用方面,MySQL
是最好的软件。MySQL
所使用的sql
语言是用于访问数据库的最常用标准化语言。
放心,读这期内容的朋友们都适合:网站开发,软件开发或者爱好者。
1.MySQL的入门
什么是数据库呢?
- 数据库,它是按照数据结构来组织,存储和管理数据的仓库。
- 数据库管理系统, 指数据库系统中对数据进行管理的软件系统。
让我来整理一张思维导图:
细节掌握:
- 安装配置,常用命令,操作数据库;
- 整型与浮点型,日期时间型与字符型;
- 创建与查看数据库表,修改数据库表,删除数据库表;
- 非空约束,主键约束,唯一约束,默认约束,外键约束;
- 管理工具:
MySQL Workbench,SQLyog
; - 单表数据记录的插入与自动编号,单表数据记录的更新,单表数据记录的删除,单表数据记录的查询,对查询结果进行分组,对查询结果进行排序,通过limit语句限制查询记录的数量;
- mysql的运算符,数值函数,字符函数,日期时间函数,聚合函数,信息函数与加密函数;
- 使用比较运算符引发的子查询,插入记录时使用的子查询
- 多表连接,内连接,外连接,自连接,多表更新,多表删除
- 创建,使用自定义函数
- 创建存储过程,使用存储过程
mysql官网:
![3f67c15490dd323bc4e02642438926e3.png](https://img-blog.csdnimg.cn/img_convert/3f67c15490dd323bc4e02642438926e3.png)
![a92eeea2e19aa46e1f0f49ed2f86ef4b.png](https://img-blog.csdnimg.cn/img_convert/a92eeea2e19aa46e1f0f49ed2f86ef4b.png)
安装包下载:(安装操作)
![96bbe1c52d32127a72174e9d6059c4c8.png](https://img-blog.csdnimg.cn/img_convert/96bbe1c52d32127a72174e9d6059c4c8.png)
![ee493b978ad132a5f29a1391d72bcc5c.png](https://img-blog.csdnimg.cn/img_convert/ee493b978ad132a5f29a1391d72bcc5c.png)
![03df33b6c21b056b484b2b20393115a5.png](https://img-blog.csdnimg.cn/img_convert/03df33b6c21b056b484b2b20393115a5.png)
点击安装:
![f622c5c67a2c1bbf641c969fa6f860c0.png](https://img-blog.csdnimg.cn/img_convert/f622c5c67a2c1bbf641c969fa6f860c0.png)
![94f05e7f604aeb1513cf76dea47825aa.png](https://img-blog.csdnimg.cn/img_convert/94f05e7f604aeb1513cf76dea47825aa.png)
![d24e8eddbfbb01a98443d7480c325645.png](https://img-blog.csdnimg.cn/img_convert/d24e8eddbfbb01a98443d7480c325645.png)
![6bfa6fdd5dac5ed74a01799d0791415a.png](https://img-blog.csdnimg.cn/img_convert/6bfa6fdd5dac5ed74a01799d0791415a.png)
![6208bea3a352118e1326082ad19408c8.png](https://img-blog.csdnimg.cn/img_convert/6208bea3a352118e1326082ad19408c8.png)
产品配置的操作:
![e3b37a926f520c74595f1e9b7d66b98b.png](https://img-blog.csdnimg.cn/img_convert/e3b37a926f520c74595f1e9b7d66b98b.png)
![572f1b57e9f494944993a236eb512bb3.png](https://img-blog.csdnimg.cn/img_convert/572f1b57e9f494944993a236eb512bb3.png)
![ac5667783880e3499f405c523e2f14d5.png](https://img-blog.csdnimg.cn/img_convert/ac5667783880e3499f405c523e2f14d5.png)
![4d845c343e4f16a5e4c4fde83f46e772.png](https://img-blog.csdnimg.cn/img_convert/4d845c343e4f16a5e4c4fde83f46e772.png)
![e47a0ec646723c19d5f2ff87f7e4dc03.png](https://img-blog.csdnimg.cn/img_convert/e47a0ec646723c19d5f2ff87f7e4dc03.png)
![41f0142aff19eb3a0e04659beec4e91e.png](https://img-blog.csdnimg.cn/img_convert/41f0142aff19eb3a0e04659beec4e91e.png)
打开服务框用win+r
,输入services.msc
![89cac416057c63d9f7c0d41e3adeba68.png](https://img-blog.csdnimg.cn/img_convert/89cac416057c63d9f7c0d41e3adeba68.png)
![1a1fc1ff6fbd3d25439c1d27f395d344.png](https://img-blog.csdnimg.cn/img_convert/1a1fc1ff6fbd3d25439c1d27f395d344.png)
2. mysql目录结构
bin
目录:用于存储一些可执行文件include
目录:用于存储包含的一些头文件lib
目录:用于存储一些库文件share
目录:用于存储错误信息,字符集文件等data
目录:用于放置一些日志文件以及数据库my.ini
文件:数据库的配置文件
启动与停止:
![7bbb9444634e5bce9629c02944171c01.png](https://img-blog.csdnimg.cn/img_convert/7bbb9444634e5bce9629c02944171c01.png)
![6fe1a8c68f5babc70ed7b6871ae49e75.png](https://img-blog.csdnimg.cn/img_convert/6fe1a8c68f5babc70ed7b6871ae49e75.png)
mysql
参数:
参数 | 描述 |
---|---|
-u |
用户名 |
-p |
密码 |
-V |
输出版本信息并且退出 |
-h |
主机地址 |
3.常用命令
修改用户密码的命令:
mysqladmin 命令用于修改用户密码
mysqladmin 命令格式:
mysqladmin -u用户名 -p旧密码 password新密码
![7535a9726cdb28b3867ee8ce9eca71d6.png](https://img-blog.csdnimg.cn/img_convert/7535a9726cdb28b3867ee8ce9eca71d6.png)
显示数据库的命令
show databases;
![c8cca3ef2b5707e3921a088096d925e3.png](https://img-blog.csdnimg.cn/img_convert/c8cca3ef2b5707e3921a088096d925e3.png)
使用数据库的命令
use 数据库的名称
![86a13a50eee896580d3eda4b791530d0.png](https://img-blog.csdnimg.cn/img_convert/86a13a50eee896580d3eda4b791530d0.png)
显示当前连接的信息
- 显示当前连接的数据库:
select database();
- 显示当前服务器版本:
select version();
- 显示当前日期时间:
select now();
- 显示当前用户:
select user();
![cafd1c667b5dcb5976a2f7d712cf2303.png](https://img-blog.csdnimg.cn/img_convert/cafd1c667b5dcb5976a2f7d712cf2303.png)
![bff0569d21fab51a9c6c96c113d94821.png](https://img-blog.csdnimg.cn/img_convert/bff0569d21fab51a9c6c96c113d94821.png)
![81112fa734b3ab846691bdfd220ea57f.png](https://img-blog.csdnimg.cn/img_convert/81112fa734b3ab846691bdfd220ea57f.png)
4.操作数据库(创建,修改,删除)
创建数据库SQL
:
create database [if not exists] db_name
[default] character set [=] charset_name
create database database_name;
![09c8a4b8de1d8ea863d91a51e7528593.png](https://img-blog.csdnimg.cn/img_convert/09c8a4b8de1d8ea863d91a51e7528593.png)
![9594dfec6ecf4119314aff7227c2fcca.png](https://img-blog.csdnimg.cn/img_convert/9594dfec6ecf4119314aff7227c2fcca.png)
![a31bb51589757a59b14a6ace221be7c7.png](https://img-blog.csdnimg.cn/img_convert/a31bb51589757a59b14a6ace221be7c7.png)
修改数据库的语法格式:
alter database db_name
[default] character set [=] charset_name
![5795121dde61285dfeba7e16236927ab.png](https://img-blog.csdnimg.cn/img_convert/5795121dde61285dfeba7e16236927ab.png)
![e26d6045aeb89f6efafd1710239225d9.png](https://img-blog.csdnimg.cn/img_convert/e26d6045aeb89f6efafd1710239225d9.png)
删除数据库语法格式:
drop database [if exitsts] db_name;
![3cbd7d23ca5430962c4680175fef6bf1.png](https://img-blog.csdnimg.cn/img_convert/3cbd7d23ca5430962c4680175fef6bf1.png)
5.数据库-数据类型
了解数据类型:(借助图书管理系统)
图书类别表:
类别编号(category_id) 类别名称(category) 父类别(parent_id)
1 计算机 0
2 医学 0
图书信息表:
图书编号(book_id) 类别编号(book_category_id) 书名(book_name) 作者(author) 价格(price) 出版社(press) 出版时间(pubdate) 库存(store)
借阅信息表:
图书编号(book_id) 身份证号(card_id) 借出日期(borrow_date) 归还日期(return_date) 是否归还(status)
读者信息表
身份证号(card_id) 姓名(name) 性别(sex) 年龄(age) 联系电话(tel) 余额(balance)
数据类型:
整型:TINYINT
-1字节 SMALLINT
-2字节 MEDIUMINT
-3字节 INT
-4字节 BIGINT
-8字节
浮点数类型和定点数类型:
float-4个字节
double-8个字节
decimal
日期时间类型:
![40bf762de06be01c33a4c940d6629859.png](https://img-blog.csdnimg.cn/img_convert/40bf762de06be01c33a4c940d6629859.png)
字符型:
![e49f9385579df1e032582c9aa83922a7.png](https://img-blog.csdnimg.cn/img_convert/e49f9385579df1e032582c9aa83922a7.png)
6.数据库表结构的操作
- 创建和查看数据表
创建数据表:create table
create table
(
列名1 数据类型[列级别约束条件][默认值],
列名2 数据类型[列级别约束条件][默认值],
...
[表级别约束条件]
);
![856ba5fe344010f41f9a894a06610ecf.png](https://img-blog.csdnimg.cn/img_convert/856ba5fe344010f41f9a894a06610ecf.png)
![865ad9a850b41497338c506290e61fb5.png](https://img-blog.csdnimg.cn/img_convert/865ad9a850b41497338c506290e61fb5.png)
![cd39ae0def245bdd9b4e94f9a37464ad.png](https://img-blog.csdnimg.cn/img_convert/cd39ae0def245bdd9b4e94f9a37464ad.png)
- 查看数据库表:
show tables [from db_name];
- 查看数据表基本结构:
show columns from tbl_name;
describe /DESC
![4aa2751c9a61b2ea4334504d7fa6825d.png](https://img-blog.csdnimg.cn/img_convert/4aa2751c9a61b2ea4334504d7fa6825d.png)
![2c9f98dbc3a98831db1991fff94afef4.png](https://img-blog.csdnimg.cn/img_convert/2c9f98dbc3a98831db1991fff94afef4.png)
show create table tbl_name;
![0b3e900284e00fe36f0364b6c951b53e.png](https://img-blog.csdnimg.cn/img_convert/0b3e900284e00fe36f0364b6c951b53e.png)
- 修改数据库表
添加列:
alter table
add
[ 约束条件 ] [first | after 已存在列名];
![8b6240956cd926fad8947db7eed3f76b.png](https://img-blog.csdnimg.cn/img_convert/8b6240956cd926fad8947db7eed3f76b.png)
![91cde9521c762ada163539205b7f63de.png](https://img-blog.csdnimg.cn/img_convert/91cde9521c762ada163539205b7f63de.png)
修改列名:
alter table
change ;
![3f6bea2e309e990c672280fc8335c724.png](https://img-blog.csdnimg.cn/img_convert/3f6bea2e309e990c672280fc8335c724.png)