MySQL与Python连接的基础操作
—关系型数据库
—在终端中操作数据库
—查看数据库服务器里面的所有的数据库
show databases
—选择一个数据库
use + 数据库名称
select * from admin
—如何退出数据库
exit;
—如何创建数据库
create database 数据库名字
—如何查看数据库里面的表
show tables;
—如何创建数据表
CREATE TABLE 表名(name VARCHAR(20),owner VARCHAR(20),species VARCHAR(20),sex CHAR(1),birth DATE,death DATE);
—查看数据表具体详情
describe 表名;
—查看数据记录
select * from 表名
—往数据表中添加数据记录
INSERT INTO 表名
VALUES('puffball','diane','hamster','f','1999-03-03',NULL);
—常用数据类型
数值:INT:整数;BIGINT:大的整数;FLOAT:浮点数;DOUBLE:浮点数值;
日期:DATE:日期值;TIME:时间值或持续时间;YEAR:年份值;DATETIME:混合日期和时间值;
字符串:CHAR:定长字符串;VARCHAR:变长字符串;TINYTEXT:短文本字符串;TEXT:长文本字符串
—增删改查数据操作
增:INSERT INTO 表名 VALUES(...)给一行增加数据
insert into (name) values ('ppap')给某一格增加元素
删:delete from 表名 where name='mysql'默认直接删除整行数据
;
改:update 表名 set name='旺财' where owner='周星驰';
查:select * from 表名
—建表约束:
----主键约束:能够唯一确定一张表中的一条记录,也就是我们通过给某个字段添加约束,就可以使得某个字段不重复且不为空。
create tables user(id int,name varchar(20),password varchar(20) primary key(id,name))
后续再添加主键约束,修改表结构alter table user add primary key(id);
删除主键约束alter table user drop primary key(id);
修改主键约束 alter table user modify id int primary key;
— 自增约束:a自动增长数值
create tables user(id int primary key autu _increment,name varchar(20))
----唯一约束:约束修饰的字段的值不可以重复,可以为空
create tables user(id int,name varchar(20),password varchar(20) unique(id,name))
create tables user(id int,name varchar(20),password varchar(20));
添加唯一约束alter table user add unique(name);
添加唯一约束alter table user modify name varchar(20) unique;
删除唯一约束alter table user drop index id;
----非空约束
约束修饰的字段的值不可以空,可以为重复
create tables user(id int,name varchar(20),password varchar(20) not null(id,name))
----默认约束:当插入字段值的时候,如果没有传值,就会使用默认值
create tables user(id int,name varchar(20),password varchar(20) default(id,name))
----外键约束:涉及到父(主)表和子(副)表,转移表栏
- 主表中没有的数据值,在副表中,是不可以使用的
- 主表中的记录被副表引用,是不可以被删除的
学生表create table student(id int,name varchar(20),password varchar(20))
老师表create table teacher(id int,name varchar(20),password varchar(20),class_id int foreign key(class_id) references student(id)
第一范式—1NF:数据量不宜过长,可以进行分割
第二范式—2NF:除主键外的每一列都必须完全依赖与主键,否则是联合主键
第三范式—3NF:除开主键列的其他列之间不能有传递依赖关系
Python和mysql交互
- 查询
- 插入
- 改正
- 删除