一周内容回顾(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语句

# SQL语句就是用来操作关系型数据库的语言

# NoSQL语句就是用来操作非关系型数据库的语言

重要概念

# 针对关系型数据库
库>>>文件夹
表>>>文件夹里面的文件
数据>>>文件夹里面的文件里面的一行行记录

 

MySQL数据库如何下载与安装

下载

步骤

1.进入MySQL官网,选择downloads 
2.点击 MySQL Community Server
3.选择 Archives下拉框选择版本5.6版本即可,下载对应的压缩包

安装

下载完毕之后
解压至相对好找的路径下(最好不是C盘)

文件目录介绍

bin文件夹
    存储的是启动程序文件
        mysql.exe    客户端
        mysqld.exe   服务端
data文件夹
    存储的是数据相关的文件
my-default.ini
    数据库的默认配置文件
README
    类似于产品说明书

MySQL基本使用

前提

先添加环境变量

 使用步骤

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.修改完配置文件一定要重启服务端

 

基本SQL语句

针对库

1.查

# 查看所有的数据库名称
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;  # 删除表中所有的记录

 

 

day05

  • 存储引擎

  • 创建表的完整语法

  • 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
# 其他类型也是如此 默认都自带正负号

约束条件之unsigned

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)
);
 

 

posted @ 2021-09-05 21:52  陌若安然  阅读(42)  评论(0)    收藏  举报