MySQL
文章目录
01、mysql数据库
比如说:用户信息,订单信息,交易流水,收货地址,商品信息这些都是数据。之前都是存Excel中。后端程序想要操作Excel中的数据是非常困难的,而且Excel中的数据特别多的时候,打开会特别慢。
1.1 一些常见的数据库
oracle 大型的数据库,安全,存储效率高。 收费。
MySQL 开源,免费。 支持多种开发语言 php,Python java
SQL server
02、下载
2.1 官网下载
https://www.mysql.com/downloads/
2.2 集成环境
*下载 phpstudy
https://www.xp.cn/
03、概念
连接:连接哪一台电脑上的数据库。
数据库:存放数据表的类似文件夹一样的结构。 每一个库由多个表组成。
表:一个文件。由字段和记录组成。
04、图形化工具的使用
1.打开phpstudy,启动MySQL。
2.再打开图形化工具,navcat。
3.点击连接,选择mysql。
4.输入连接名(建议:与主机名保持一致即可。)和密码(密忘记密码,可以去phpstudy中查看。)
- int :数字型。
- varchar :字符串类型。
- 主键的作用:不能重复。
05、命令行的使用
1.找到phpstudy安装的mysqlbin目录
2.phpstudy_pro文件夹——>Extensions文件夹——>MySQL文件夹——>bin文件夹
3.进入mysql的bin目录下,按下shift键+右键,在此处打开命令行。
- 进入mysql
mysql -u root -p - 查看所有的数据库
show databases; - 创建数据库
create database 数据库名; - 修改数据库的编码格式
alter database 数据库名 default character set = gb2312; - 删除数据库
DROP database 数据库名
Lost connection to MySQL server during query ---------------------> 查询期间与MySQL服务器失去连接
06、 创建表
6.1 、创建表格
create table 表名(
字段名 类型(int,varchar,date)[not null][comment '注释信息'],
....
)
6.2、查看所有的表
show tables;
【注意】在创建表或者其他操作之前需要选中数据库。
6.3、选中数据库(创建在哪个数据库下面)
use 数据库名;
6.4、 查看表的字段信息
desc 表名;
6.5、修改表名
alter table 表名 rename 新表名;
6.6、删除表
drop table 表名;
07、记录的操作
7.1、增(insert)
insert into 表名(字段1,字段2...) values (值1,值2);
insert into 表名 values(值1,值2);
insert into 表名 values(值1,值2),(值1,值2);
区别:
第一种写法是需要给哪些字段赋值,就写哪些字段
第二种写法默认是给所有字段赋值。
7.2、删(delete)
-----删除表中所有记录
delete from 表名;
-----删除id为5的记录
delete from 表名 where id = 5;
-----删除id大于2的记录
delete from 表名 where id > 2;
-----删除字段中包含某个字符的记录
delete from 表名 where 字段名 like '%字符%'
7.3、改(update)
update 表名 set 字段 = '新值' where 条件判断;
-----修改id为3的classinfo表中 teacher字段的值为 张**;
update classinfo set teacher = '张贵某' where id = 3;
-----修改多条字段的值
update classinfo set teacher = '张贵某',className = 'html' where id = 3;
08、查(select)
8.1、单表查询
----查询所有字段,所有记录 * 表示所有字段,没有条件查询,表示查询所有记录
select * from 表名;
----查询某些字段
select 字段1,字段2 from 表名;
8.2、条件查询
8.2.1、where语句
----等于查询
select * from classinfo where id = 1;
----大于小于查询
select * from classinfo where id > 3;
----模糊查询
select * from classinfo where teacher like '张%';
8.3、and 与
-----左右两边的条件都符合的记录才会被匹配。
select * from classinfo where className like '%入门%' and teacher = '老张'
8.4、or 或
-----左右两边的条件只要符合一个,就会被匹配。
select * from classinfo where className like '%入门%' or teacher like '%贵%'
8.5、in
----- where子句中可以规定多个值,记录中的字段的值只要在多个值中就会匹配。
----- in前面的字段的值,只要和小括号中的任意一个相等,就会匹配。
select * from classinfo where id in(1,2,3);
8.6、高级查询
-----查询记录的数量
select count(*) from 表名;
-----查询符合条件的记录的数量
select count(*) from 表名 where 条件判断;
-----查询符合条件的记录的和
select sum(字段) from 表名 where 条件判断;
-----最大值
select max(classFee) from classinfo where 条件判断;
-----最小值
select min(classFee) from classinfo where 条件判断;
-----分页 第一个参数表示:从哪开始查询,是一个下标。从0开始,第二个参数是查询多少条。
select * from classinfo limit 0,2;
8.7、多表查询
-----多表查询
select * from 表1 as 别名1,表2 as 别名2 where 关联条件
select * from student s,classinfo c where s.id = 1 and s.classId = c.id;
-----左连接
select * from student s left join classinfo c on s.classId = c.id;
-----右连接
select * from student s right join classinfo c on s.classId = c.id;
8.8、排序
select * from 表名 where 条件判断 order by 字段
desc 降序 ASC升序(默认)
select * from sc where CId = 03 order by score ASC;