1.mysql介绍
mysql是一个企业普遍使用的数据库系统。你可以理解为是excel的高级版本,可以使用命令行和界面来操作数据,创建表格
命令行的写法: sql语句 —–既可以从代码中操作数据,又可以人为操作维护
界面操作:只是方便操作和维护
mysql是一个命令行版本的excel,navicat是操作mysql的界面工具
2.mysql安装
下载链接:https://www.mysql.com/downloads
1.复制mysql安装文件夹放在自己的软件目录中
2.复制一份 my-default.ini
,修改为my.ini
3.打开my.ini
,修改18行19行,去掉井号 #,修改地址为自己的目录地址
basedir = D:\Program Files\mysql-5.6.43
datadir = D:\Program Files\mysql-5.6.43\data
4.cd进入mysql的bin目录:然后mysqld --install
进行安装
5.net start mysql
启动服务,就算安装成功了
3.安装navicat
1.启动mySQL服务
net start mysql
先停止mysql 然后再重启
net stop mysql
注意:我的数据库密码空,需要启动mysql服务
注意:在任务管理器中的服务设置mysql为自动启动
重置mysql密码的方法:
1.首先,停止mysql,服务
2.进入MySQL安装目录下的bin目录,这样就进入mysql安装目录了,
3.进入mysql安全模式,当mysql启动起来后,不用输入密码就能进入数据库,命令为
mysqld -nt --skip-grant-tables
4.重新打开一个cmd命令窗口,输入mysql -uroot -p使用空密码的方式登陆MySQL
5.输入以下命令修改root用户的密码:
update mysql.user set password=password('新密码') where user='root' and host='localhost';
6.刷新权限表 flush privileges
7. 退出
这样MySQL超级管理员账号root 已经重新设置好了,接下来在任务管理系统中结束掉mysql-nt.ext这个进程,重新启动mysql 就行了。
mysql设置密码: http://m.zhizuobiao.com/mysql/mysql-18060700082/
4.mysql常见的概念
//数据库---可以当做一个专门放excel表格的文件夹
//数据表 --- 可以当做每一个excel表格
//字段 --- 可以当做表格第一行标记是什么类型的数据
//数据类型 --- 表示该行数据的类型
//主键:-------- 表示该表格中唯一标识一般是数字编号,确保唯一,方便查询: 用户id,商品id,订单id,文章id
----一个表格不能有两个主键,并且不能为空,一般是id自增
//外键 -- 表示跟另外一张表的关联,保证数据的一致性,例如 有一张用户表,然后属于某个班级,那么班级id就是外键
//常见的数据类型:
int 数值
varchar 字符串
text 大的文本内容
datetime 时间
参考文档:https://www.cnblogs.com/zlslch/p/6534192.html
5.mysql工具navicat
1.使用navicat创建数据库,创建用户表,修改用户表,删除用户表,查询用户表
https://blog.csdn.net/jingchc/article/details/82908686
//操作步骤:
1.连接数据库
2.创建数据库
3.创建数据表 user表(id,name,age,sex,email,phone,classId) class表(id,name,year,grade)
4.添加数据
5.查询数据:
select * from user;
select * from class;
selct 需要显示的字段 from 哪个表查 where 查询条件
select
user.*, class.className,class.grade,class.year
from
user,class
where
user.classId = class.classId;
select
user.*,money.*
from user,money
where
user.id= money.userId;
创建数据库的时候,一般选择: utf8或者utf8mb4 排序规则使用 utf8_general_ci 不然会出现字符乱码
总结: 使用面板创建数据库
1.使用navicat创建连接
2.创建数据库: 数据库名字,设置编码类型: utf8mb4 utf8_general_ci
3.创建数据表:
4.创建数据表字段: id(数据的唯一标识,一般设置为主键,不能为空,并且自动增长)
5.字段需要选择数据类型: int varchar text datetime
6.保存数据表,然后添加数据
6.mysql初级语法
//命令行操作是必须要学的,因为在代码中操作数据库,就是通过sql语句来操作的
//登录mysql
mysql -u root -p 换行然后输入密码: 刚开始默认密码为空,直接换行
//查看数据库
show databases;
//使用数据库
use cx01;
//查看数据表
show tables;
//查看文章表
select * from artical;
//添加数据
insert into artical(articalName,content,author) values('文章4','这是第四篇文章','demo2');
//更新数据
update artical set content='这是第四篇文章修改' where id=4;
//删除数据
delete from artical where id=4;
7.mysql中级语法
//查询
select 列名 from 表名;
//添加
insert into 表名(列名) values(值)
//修改
update 表名 set 属性名=属性值 where 条件
//删除
delete from 表名 where 条件
8.mysql高级语法
//查询的语法是最多的的 where的条件查询
1.比较条件
> 大于 < 小于
>= 大于等于 <= 小于等于
!= 不等于
= 等于
select * from emp where salary > 12000;
BETWEEN 某范围之间
select * from emp where salary between 15000 and 18000;
2.AND 同时多个条件都满足 (类似于与运算符)
select * from emp where salary > 12000 and department='开发部';
3.or 多个条件满足其中一个 (类似于或运算符 )
select * from emp where salary>14000 or level = 3;
4.order by 排序 (倒叙desc, 正序asc)
select * from emp order by salary;
select * from emp order by id desc;
5.like 模糊查询
select * from emp where name like '王%' and department='开发部';
10.mysql的高级应用
常见mysql函数:
sum(列名) 求和
select sum(salary) as '薪资总和' from emp;
max(列名) 最大值
select name, max(salary) as '最高薪资' from emp;
min(列名) 最小值
select name, min(salary) from emp;
avg(列名) 平均值
select avg(salary) from emp;
count(*) 统计数量
select count(*) from emp where salary > 10000;
多表查询
分页查询
select * from emp limit 开始索引,个数
select * from emp limit 2,2;
select * from table limit (start-1)*pageSize,pageSize; 其中start是页码,pageSize是每页显示的条数