python mysql树_python MySql

初识数据库

数据库优势

程序稳定性:程序崩溃不会影响数据和服务

数据一致性:所有数据存储在一起

并发:数据库本身支持并发

效率:使用数据库对数据进行的增删改查效率要高

数据: 描述事物的符号记录称为数据 (Data)

数据库: 专门用来存储数据 (DataBase,简称DB)

mysql: 数据库软件 (DataBase Management System 简称DBMS)

数据库管理员 管理数据库软件(DBA)

数据库服务器-:运行数据库管理软件

数据库管理软件:管理-数据库

数据库:即文件夹,用来组织文件/表

表:即文件,用来存放多行内容/多条记录

数据库分类

关系型数据库(表结构):

特点相对慢,数据关联性强

关系型数据库 : mysql oracle sqllite sql server db2 access

非关系型数据库(key,value):

特点相对快,数据与数据的关联性小

非关系型数据库 : redis mongodb memcache

区别:关系型数据库存储效率相对低,数据与数据之间关联紧密

关系型数据库存储效率相对高,数据与数据之间的关系是key:value

Mysql语句分为三种(了解)

DDL 语句, 数据库定义语言:数据库,表,视图,索引,存储过程,例如create,drop,alter

DML 语句,数据库操纵语言:插入、删除、更新、查询数据,insert,delete,update,select

DCL 语句, 数据库控制语言:用户的访问权限,grant,revoke

Mysql 默认三个数据库:

mysql:保存mysql权限,配置参数,状态信息,主从配置

information_schema: 保存着mysql维护其他数据库信息,如库名,表和访问权限等

performance_schema:数据库存储引擎,监视数据库运行的资源消耗,资源等待等等

Mysql工作流程:

登录授权认证安全:

查询,解析,分析,优化,缓存

存储过程,触发器,视图

存储和提取数据

存储数据,表信息,用户操作日志

MySql 安装:

路径不能有中文

路径不能有特殊字符

环境变量

python -->python.exe

在任何目录下都能够找到python.exe文件

才能在任意位置输入python命令启动python解释器

Mysql

mysqld install 安装mysql服务 mysql服务就被注册到操作系统中

net start mysql 启动mysql服务

net stop mysql

启动客户端连接server

mysql-uroot -p123 -h192.168.14.12mysql>select user(); 查看当前登录的用户

mysql>set password = password('123'); 给当前用户设置密码

创建一个其他用户

create user'guest'@'192.168.14.%' identified by '123';

给一个用户授权

grant 权限类型 on ftp.* to 'guest'@'192.168.14.%';

grant all

grant select on day37.* to 'guest'@'192.168.14.%';

grant select,insert

安装(启动,关闭)

cmd管理员

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

mysqld install 安装mysql服务 mysql服务就被注册到操作系统中

net start mysql 启动mysql服务

net stop mysql

View Code

默认用户登陆

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

#默认用户登陆之后并没有实际操作的权限#需要使用管理员root用户登陆

mysql -uroot -p #mysql5.6默认是没有密码的#遇到password直接按回车键

View Code

给当前用户设置密码

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

mysql>select user(); 查看当前登录的用户

mysql>set password = password('123'); 给当前用户设置密码

View Code

启动客户端连接server

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

#远程登陆

启动客户端连接server

mysql-uroot -p123 -h192.168.14.12 #-p可以加密码但是不建议 -h写连接server的ip地址

View Code

创建用户

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

#创建一个其他用户

mysql>create user 'guest'@'192.168.14.%' identified by '123';

创建 用户"guest"@"ip"identified 密码#server查看用户

mysql>mysql -uguest -p123 -h192.16.14.200;

View Code

链接

mysql为我们提供开源的安装在各个操作系统上的安装包,包括ios,linux,windows。

mysql的安装、启动和基础配置 —— linux版本 (https://www.cnblogs.com/Eva-J/articles/9664401.html)

mysql的安装、启动和基础配置 —— mac版本 (https://www.cnblogs.com/Eva-J/articles/9664401.html)

mysql的安装、启动和基础配置 —— windows版本 (https://www.cnblogs.com/Eva-J/articles/9669675.html)

存储引擎

数据的存储方式-->存储引擎

使用不同的存储引擎,数据是已不同方法存储的

查看存储引擎:show engines;

Innodb:

Innodb存储引擎 mysql5.6之后的默认的存储引擎

数据和索引存储在一起 2个文件

数据索引\表结构

数据持久化

支持事务 : 为了保证数据的完整性,将多个操作变成原子性操作 : 保持数据安全

支持行级锁 : 修改的行少的时候使用 : 修改数据频繁的操作

支持表级锁 : 批量修改多行的时候使用 : 对于大量数据的同时修改

支持外键 : 约束两张表中的关联字段不能随意的添加\删除 : 能够降低数据增删改的出错率

Myisam存储引擎

Myisam存储引擎 mysql5.5之前的默认的存储引擎

数据和索引不存储在一起 3个文件

数据\索引\表结构

数据持久化

只支持表锁

Memory存储引擎

Memory存储引擎

数据存储在内存中, 1个文件

表结构

数据断电消失

数据库DDL 语句

操作数据库

查看所有数据库 show databases;

创建一个数据库 create database 数据库名;

切换到这个库下 use 数据库的名字

查看这个库下有多少表 show tables;

操作表

创建一张表

create table student(name char(12),age int);

删除表名

drop table student

查看表结构

desc student;

操作数据

插入数据 : insert into student values ('wusir',73);

查询数据 : select* fromstudent;

修改数据 : update student set age=85 where name='alex';

删除数据 : deletefrom student where name = 'alex';

表和数据的基础操作

表的操作

三种方式

写入数据

insert into 表 values()

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

写入数据的方式

insert into 表 values (值1,值2,值3);

这张表有多少的字段,就需要按照字段的顺序写入多少个值

insert into 表 values (值1,值2,值3),(值1,值2,值3),(值1,值2,值3);

一次性写入多条数据

insert into 表 (字段1,字段3 ) values (值1,值3);

指定字段名写入,可以任意的选择表中你需要写入的字段进行

View Code

查看中的数据

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

查表中的数据

select* from表

查看表结构

desc 表名;

能够查看到有多少个字段\类型\长度,看不到表编码,引擎,具体的约束信息只能看到一部分

show create table 表名;

能查看字段\类型\长度\编码\引擎\约束

View Code

数字类型

常用 int,float

定义无符号 unsigned

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

int 不约束长度,最多表示10位数

float(m,n)

m 一共多少位,

n 小数部分多少位#int

create table t1(

id int,#默认是有符号的

age tinyint unsigned #如果需要定义无符号的使用unsigned

);#float double

create table t2(

f1 float(5,2), #保留2位小数 并四舍五入

f2 float,

f3 double(5,2),

f4 double

)

insert into t2(f2,f4) values(5.1783682169875975,5.1783682169875975179);#float decimal

create table t3(

f1 float,#保留2位小数 并四舍五入

d1 double,

d2 decimal(30,20),

d3 decimal

);

View Code

时间

常用 time,date,datetime

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

date 20190620time121953datetime20190620121900datetime 年月日时分秒

year 年

date 年月日

time 时分秒

timestamp 时间戳

create table t4(

dt datetime,

y year,

d date,

t time,

ts timestamp

);

mysql>create table t5(->id int,-> dt datetime NOT NULL #不能为空

DEFAULT CURRENT_TIMESTAMP #默认是当前时间

ON UPDATE CURRENT_TIMESTAMP); #在更新的时候使用当前时间更新字段

View Code

字符串

常用 char,varchar

char(18) 最多只能表示255个字符

定长存储,浪费空间,节省时间

'alex' 'alex '

varchar(18) 最多能表示65535个字符

变长存储,节省空间,存取速度慢

'alex' 'alex4'

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

适合使用char

身份证号

手机号码

qq号

username12-18password32银行卡号

适合使用varchar

评论

朋友圈

微博

create table t6(c1 char(1),v1 varchar(1),c2 char(8),v2 varchar(8));

create table t6(c1 char,v1 varchar(1),c2 char(8),v2 varchar(8));

View Code

enum和set

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

enum 单选

枚举类型,它的值范围需要在创建表时通过枚举方式显示。</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值