一,数据库的分类:
- 关系型数据库:
- 超大型数据库:Oracle
- 企业级数据库:MySql,SqlServer, POSTSql
- 轻量级文件数据库:sqlite, python3中内置了sqliter3
- 非关系型数据库(更符合大数据时代的需求):
- 文档型数据库:MongoDB(数据库,集合,文档)
- 内置数据库:Redis(数据库,键值对)
二,数据库的安装:
- 版本
- 企业版(收费):稳定,只包含最稳定的版本
- 社区版(免费):包含新功能,有可能不稳定
- 安装方式:
- python中在终端上输入pip install pymysql
- 官网下载MySQLhttps://dev.mysql.com/downloads/mysql/下载经典版本5.7(一般下载社区版ps:因为免费)
- windows安装包msi,直接根据安装向导下一步即可
- windows压缩包zip, 需要解压,自己配置安装
- 配置mysqlC:\Program Files\MySQL\MySQL Server 5.7\bin复制到环境变量中(可以搜索怎么配置环境变量)
三,MySQL基础指令(黑窗口版):
数据库操作:
1,连接数据库:mysql -u 数据库名 -p 回车输入密码
mysql -u root -p
2,show databases; ——展示当前数据库管理系统中所有数据库
show databases;
3,create databases if not exists 数据库名 charset=utf8;——创建数据库
create database db charset = utf8;
4,drop database 数据库; ——删除数据库
drop tababase db;
5,select database(); ——查询当前数据
select database();
6,use 数据库名; ——选择数据库
use db;
表操作:
1,show tables; ——查询所有表
show tables;
2,create table 表名(列名 类型 约束, 列名 类型 约束,...);——创建表
create table user(in int not null auto_increment primary key, name varchar(8) not null unqiue);
3,desc 表名; ——查看表结构
desc user;
3,drop table 表名; ——删除表
drop table user;
4,alter table 表名 renam 表名 新表名;——重命表名
alter table user rename user goods;
5,alter table 表名 change 原列名 新列名 类型 约束;——
alter table user change name age int not null;
6,alter table 表名 add 列名 类型 约束; ——添加列
alter table user add age int not null;
7,alter table 表名 drop 列名;——删除列
alter table user drop age;
增删改查:
1,insert into 表名 (列名1,列名2,...)values(值1,值2,...);——添加
insert into user (name) values ('大白');
2,delete from 表名 where 条件;——删除
delete from user where id = 3;
3,update 表名 set 列名=值 where 条件; ——修改
update user set name='小白' where id = 2;
4,select * from 表名; ——查询
1,select distinct 列名 from 表名;——去重
select ditinct age from user;
2,select * from 表名 where order by 列名 desc;——降序
select * from user where order by id desc;
3,select 列名 from 表名 where group by 列名 having 条件;——分组
select age from user where group by age;
4,select * from 表名 where limit 开始,结束;——分页
select * from user where limit 0,3;# 一页三个数据
5,select * from 表名 where 列名 like '%_';——模糊查询
select * from user where name like '刘%' # 查询所有姓刘的
一些约束语句:
1,primary key(列名)——主键
2,not null ——非空
3,auto_increment ——自增长
4,unique——唯一
5,default——默认
6,foreign key(类名) references 表名(主键名)——外键
7,on update cascade , on delete cascade——级联更新,级联删除
四,python连接数据库:
1,导入pymysql—— import pymysql
2,构建链接——con = pymysql.connent(user=‘用户名’,password=‘密码’,db=‘数据库’)
3,构建游标 ——cur = con.coursor()
4,使用游标执行sql——cur.execute()
5,获取执行结果——cur.fetchall
6,释放资源cur.close() con.close()