一周内容回顾(8.30-9.3)
day02
- 面向对象
- 异常捕获
面向对象
对象的概念
对象:数据与功能的结合体
类的概念
类:多个对象相同数据与功能的结合体
定义类
定义类的语法结构
1.class是定义类的关键字
2.Student是类的名字
类名在python中推荐首字母大写
3.缩进代码块
对象相同的数据和功能
父类
多个类相同的数据和功能的结合体
继承
一个类可以继承多个父类并拥有多个父类里面所有的东西
对象查找数据和方法的顺序
对象自身开始找>>>产生对象的类里面找>>>去父类里面找
异常捕获
异常的分类
1.语法错误
不被允许的 出现了应该立刻修改
2.逻辑错误
可以允许发生的,类似于bug
语法结构
try:
被检测的代码
except 错误类型 as 变量名:
分支代码(变量名指代的就是错误的具体信息)
#万能异常 Exception/BaseException
其他关键字
else
#try被检测的代码没有异常的情况下会走
finally
#无论是否有异常最终都会执行
day03
- 数据库简介
- 软件开发架构
- 数据库的分类
- SQL语句的由来
- MySQL数据库简介
- MySQL下载与安装
数据库简介
数据库存储数据的演变过程
1.文件
eg:
ben|123
{''username'':''ben'',''pwd'':123}
2.单机游戏
数据保存在本地的一个文件夹内 数据格式由程序设计者定义好
3.网络游戏
数据保存在暂时未知的地方
数据是可以共享的,安全性较高
软件开发架构
c/s架构
c:client #客户端 s:server #服务端
b/s架构(本质:c/s架构)
b:broswer # 浏览器
s:server #服务器(端)
数据库概念
数据库本质上就是一款c/s架构的软件
而数据库操作数据就是基于网络远程的操作文件
数据库的分类
1.关系型数据库
关系型数据库:
具有固定的表结构 并且表与表之间可以建立外键关系
eg:
MySQL、Oracle、PostgreSQL、sql server、sqlite、MariaDB、access
2.非关系型数据库
2.非关系型数据库:
没有固定的表结构 数据存储格式采用的是K:V键值对的形式
eg:
redis、mongoDB、memcache
# SQL语句就是用来操作关系型数据库的语言 # NoSQL语句就是用来操作非关系型数据库的语言
重要概念
# 针对关系型数据库
库>>>文件夹
表>>>文件夹里面的文件
数据>>>文件夹里面的文件里面的一行行记录
下载
步骤
1.进入MySQL官网,选择downloads
2.点击 MySQL Community Server
3.选择 Archives下拉框选择版本5.6版本即可,下载对应的压缩包
安装
下载完毕之后
解压至相对好找的路径下(最好不是C盘)
bin文件夹
存储的是启动程序文件
mysql.exe 客户端
mysqld.exe 服务端
data文件夹
存储的是数据相关的文件
my-default.ini
数据库的默认配置文件
README
类似于产品说明书
先添加环境变量
使用步骤
1.先启动服务端
2.客户端登录服务端
mysql # 游客模式登录 功能及权限少
3.退出游客账户采用管理员账户登录
exit\quit
# 完整命令
mysql -h 127.0.0.1 -P 3306 -uroot -p
# 本地操作可以简化
mysql -uroot -p
系统服务制作
1.windows + r 并输入services.msc回车即可
2.MySQL服务添加到系统服务中,一定要以管理员身份打开cmdmysqld --install
3.添加完成后第一次需要手动启动net start mysql
dat04
- 修改密码与破解密码
- 字符编码与配置文件
- 基本SQL语句
修改密码与破解密码
前提
在MySQL中SQL语句的结束符是分号(;)
修改密码
修改密码方式1:
set password=password('你想要设置的密码');
# 该命令修改的是当前登录用户的密码
修改密码方式2:
# 在不登陆的情况下修改
mysqladmin -u用户名 -p原密码 password 新密码
破解密码
1.先停止MySQL服务(管理员身份)
net stop mysql
2.以取消校验授权表的形式启动服务端
mysqld --skip-grant-tables
3.管理员身份直接登录
mysql -uroot -p
4.修改指定用户的密码
update mysql.user set password=password(321) where user="root" and host="localhost";
5.停止服务并正常启动
ctrl+c或者再以net stop mysql命令停止
net start mysql
字符编码与配置文件
查看当前MySQL服务端基本信息
\s
配置文件
# 配置文件
MySQL默认配置文件my-defalut.ini
# 配置文件后缀名 ini,xml..
1.MySQL默认的配置文件需要去修改 如果想修改配置 可以拷贝一份再做修改
my.ini
2.在该文件内拷贝几行固定的配置
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
3.修改完配置文件一定要重启服务端
# 查看所有的数据库名称 show databases;
# 查看指定的数据库
show create database db1;
2.增
# 创建数据库db1 create database db1;
3.改
# 修改数据库编码
alter database db1 charset='gbk';
4.删
# 删除指定的数据库
drop database db1;
针对表
注意事项
1.如何查看当前在哪个库下
select database();
2.切换数据库
use db1;
1.查
show tables; # 查看某个库下所有的表名 show create table t1; # 查看指定的表信息 desc(describe) t1; # 查看表结构
2.增
create table ti(id int,name char); # 创建表(必须有字段名和类型)
3.改
alter table ti modify name varchar(16); # 修改字段类型
4.删
drop table ti; # 删除指定的表
针对记录
1.查
select * from t1; # 查看t1表中所有的数据 select id,name from t1; # 查看指定字段对应的数据
2.增
insert into t1 values(1,'ben',123); # 插入数据 insert into t1 values(1,'ben',123),(2,'tom',666); # 插入多条数据
3.改
update userinfo set name='benNB' where id=1; # 将id是1的数据的name字段改为benNB
4.删
delete from userinfo where id=2; # 删除符合条件的数据 delete from userinfo; # 删除表中所有的记录
-
-
创建表的完整语法
-
MySQL基本数据类型
-
MySQL内部针对数据的存储有很多不同的方式
简单来说就是把这些不同的存储方式叫做不同的存储引擎
show engines;
1.InnoDB
2.MyISAM
3.memory
4.blackhole
create table t1(id int)engine=InnoDB;
create table t2(id int)engine=MyISAM;
create table t3(id int)engine=memory;
create table t4(id int)engine=blackhole;
1.InnoDB有两个文件
.frm 表结构
.idb 表数据、索引
2.MyISAM有三个文件
.frm 表结构
.MYD 表数据
.MYI 表索引
3.memory有一个文件
.frm 表结构
4.blackhole有一个文件
.frm 表结构
insert into t1 values(1);
insert into t2 values(1);
insert into t3 values(1);
insert into t4 values(1);
# 完整语法
create table 表名(
字段名 字段类型(宽度) 约束条件,
字段名 字段类型(宽度) 约束条件,
字段名 字段类型(宽度) 约束条件
);
tinyint
smallint
int
bigint
create table t6(id tinyint);
insert into t6 values(-129),(256); # -128 127
# 其他类型也是如此 默认都自带正负号
create table t7(id tinyint unsigned); # unsigned约束条件 无符号 insert into t7 values(-129)(256); # 0 255
float
double
decimal
float < double < decimal
1.char
好处:整存整取 速度快
坏处:浪费存储空间
2.varchar
好处:节省存储空间
坏处:存取速度较于char慢
char(4)
最多可以存储4个字符 超过了报错 没有超过也按照四个字符存储(默认空格填充)
varchar(4)
最多可以存储4个字符 超过了报错 没有超过则按照实际有几个字符就存几个
严格模式
# 查看严格模式
show variables like '%mode%';
# 修改严格模式
set global sql_mode = 'strict_trans_tables';
# 只需要退出客户端重新进入即可
时间类型
date 年月日
time 时分秒
Datetime 年月日时分秒
Year 年
枚举与集合类型
enum
多选一
set
多选多
枚举类型
create table t13(
id int,
name varchar(16),
gender enum('male','female','others')
);
集合类型
create table t14(
id int,
name char(16),
hobby set('basketball','football','doublecolorball')
);
宽度说明
int(4) char(4)
# 针对数字类型 宽度并不是用来限制存储长度而是用来表示展示长度
约束条件
unsigned # 无符号
zerofill # 0填充
# not null
create table t18(
id int,
name varchar(16) not null
);
# default 默认值
create table t19(
id int,
name varchar(16) default '匿名用户'
);
# unique 唯一
'''单列唯一''' create table t20( id int, name varchar(16) unique );
'''多列唯一'''
create table t21(
id int,
host int,
port int,
unique(host,port)
);

浙公网安备 33010602011771号