MySQL入门

相关概念

  1. 数据;描述数据特征的符号
  2. 记录:事物一系列典型的特征
  3. 表:文件
  4. 库:文件夹
  5. 数据库管理软件:mysql,oracle,db2,SQLserver
  6. 数据库服务器:运行数据库管理软件的计算机截屏2024-02-28 19.56.59.png

统一字符编码

统一客户端,服务端,mysqld的字符编码为utf8

SQL语句

截屏2024-02-28 22.07.56.png

操作文件夹(库)

增:create database db1 charset utf8;
删: drop database db1;
改:alter database db1 charset gbk;
查:show create database db1;
show database;

操作文件(表)

切换文件夹:use db1;
查看当前所在文件夹:select database();
增: create table t1(id int,name char) 表明字段
查: show create table t1;
show tables;
desc t1/describe;
改: alter table t1 modify name char(6);
alter table t1 change name NAME char(7);
删: drop table t1;

操作文件内容(记录)

增:insert t1(id,name) values(1,'adam'),(2,'matthew');
insert t1 values(1,'adam'),(2,'matthew');(默认字段顺序插入)
查:select id,name from db1.t1;
select * from db1.t1;
改:update db1.t1 set name='SB'(所有字段)
update db1.t1 set name='ALEX' where id=2;(指定字段)
删:delete from t1;
delete from t1 where id=2;

库操作

截屏2024-02-28 22.11.19.png截屏2024-02-28 22.12.31.png

存储引擎介绍

存储引擎就是表的类型(txt,png)截屏2024-02-28 22.16.42.png

查看Mysql支持的存储引擎

show engines;

指定表的类型/存储引擎

create table t1(id int) engine=innodb;

表的增删改查

截屏2024-03-05 00.42.50.png截屏2024-03-05 00.44.00.png截屏2024-03-05 00.46.18.png截屏2024-03-05 00.48.57.png截屏2024-03-05 00.49.21.png

数据类型

数值类型

截屏2024-03-05 00.54.31.png截屏2024-03-05 00.54.59.png截屏2024-03-05 01.07.58.png截屏2024-03-05 01.13.52.png

日期类型

截屏2024-03-05 01.19.07.png补全&退出

字符类型

截屏2024-03-19 00.26.50.png
截屏2024-03-19 00.31.17.png

枚举类型和集合类型

截屏2024-03-19 00.41.43.png
非范围内的值,传入为空

完整性约束

约束条件not null 与 default

截屏2024-03-20 01.21.00.png截屏2024-03-20 01.21.26.png

约束条件unique key

截屏2024-03-20 01.26.08.png截屏2024-03-20 01.26.57.png截屏2024-03-20 01.29.19.png截屏2024-03-20 01.32.07.png

约束条件primary key

截屏2024-03-27 01.09.18.png截屏2024-03-27 01.10.42.png

约束条件auto_increment

自增长字段必须为key。
截屏2024-03-27 01.14.47.png
可以不用传自增长字段,也可以传(会从上一条记录自增长 )。
截屏2024-03-27 01.16.30.png
截屏2024-03-27 01.23.56.png
截屏2024-03-27 01.29.19.png
truncate会将自增长字段索引一起删除,不会导致重新插入值依然沿着上次的记录增长。

约束条件之foreign key

截屏2024-03-27 01.39.59.png截屏2024-03-27 01.42.56.png截屏2024-03-27 01.45.28.png截屏2024-03-27 01.53.30.png
想要直接删除被关联表字段,关联表字段需要增加约束条件,删除同步和更新同步。
截屏2024-03-27 01.50.54.png

表关系

多对一截屏2024-03-29 00.43.30.png

多对多

截屏2024-03-29 00.19.20.png

一对一截屏2024-03-29 00.42.45.png

截屏2024-03-29 00.38.07.png

数据操作

截屏2024-03-29 00.46.03.png截屏2024-03-29 00.49.34.png截屏2024-03-29 00.49.48.png

单表查询

image.png截屏2024-03-29 01.05.01.png

多表查询

where约束

截屏2024-03-30 01.39.19.png截屏2024-03-30 01.42.28.png

group by分组

截屏2024-03-30 01.57.52.png截屏2024-03-30 01.56.48.png截屏2024-03-30 01.59.54.png截屏2024-03-30 02.00.32.png

having过滤截屏2024-03-31 00.52.43.png

截屏2024-03-31 00.55.04.png

order by排序

limit限制条数截屏2024-03-31 01.22.19.png截屏2024-03-31 01.22.38.png

正则查询

截屏2024-04-01 00.24.19.png

连表操作截屏2024-04-01 00.38.17.png

执行顺序

截屏2024-04-01 00.47.13.png

子查询

截屏2024-04-03 00.34.48.png截屏2024-04-03 00.36.45.png

权限管理

截屏2024-04-11 01.35.29.png

Navicat使用

课件里

pymysql模块基本使用

截屏2024-04-11 23.43.05.png 截屏2024-04-11 23.53.53.png

pymysql模块之sql注入

--➕空格 会注释后续内容
两种攻击注入方式
截屏2024-04-11 23.56.42.png
截屏2024-04-11 23.58.31.png
使用模块内置拼接解决
截屏2024-04-12 00.02.35.png

pymysql模块之增删改查

插一行
截屏2024-04-12 00.06.03.png
插多行,其他操作类似
截屏2024-04-12 00.07.16.png
查询一行
截屏2024-04-12 00.09.31.png
修改游标为字典游标,以字典形式返回
截屏2024-04-12 00.11.38.png
查询多行
截屏2024-04-12 00.12.59.png
重复查询
截屏2024-04-12 00.15.02.png截屏2024-04-12 00.16.11.png
查询插入的第一条记录的自增id
截屏2024-04-12 00.19.11.png

MySQL内置功能介绍

视图(虚拟表)-只有表结构,没有表数据

可扩展性比较差,只是方便查询

触发器

截屏2024-04-12 23.38.49.png

delimiter定义结束符号,防止then后面的SQL语句的分号导致提前结束

截屏2024-04-12 23.39.15.png截屏2024-04-12 23.41.02.png

存储过程(内置功能的总和)-有点像封装函数

无参存储过程
截屏2024-04-12 23.47.56.png这里没有下划线callproc
截屏2024-04-12 23.47.33.png
有参存储过程
必须表明传入还是传出参数,以及类型
截屏2024-04-12 23.56.41.png最后是p2_2,写错了
截屏2024-04-12 23.52.40.pngmysql示例
截屏2024-04-12 23.58.36.pngpython示例

应用程序和数据库结合使用

截屏2024-04-13 00.07.02.png

事务-一堆SQL一起执行-原子操作,要么都成功,一个失败都失败

截屏2024-04-13 00.09.13.pngcommit执行完才真正修改了表
声明结束符号,再定义一个存储过程,先定义两种异常,在定义一个事务,在设定一个返回值
截屏2024-04-13 00.13.53.png

函数与流程控制

截屏2024-04-13 00.18.36.png截屏2024-04-13 00.18.50.png

posted @ 2024-04-13 11:08  一个空指针  阅读(18)  评论(0)    收藏  举报