python网站创建017:python操作mysql
Mysql安装:关于mysql安装教程,可以看这篇文章:https://www.cnblogs.com/FBGG/p/11234321.html
python操作mysql:
1. 安装pymysql:
pip3 install pymysql
2. python操作数据库
import pymysql # 连接mysql conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='123mysql', charset='utf8') # 创建游标 cousor = conn.cursor() # 1. 查看数据库 """ cousor.execute("show databases;") result = cousor.fetchall() # 获取返回数据 print(result) """ # 2. 删除数据库 cousor.execute("drop sys;") conn.commit() # 提交指令【只要是修改数据的,都要添加commit】 # 3.切换数据库 cousor.execute("use sys;") cousor.execute("show tables;") result = cousor.fetchall() # 获取返回数据 print(result) # 关闭连接 cousor.close() conn.close()
3. 数据表 管理
进入数据库:
use 数据库;
查看当前库所有表
show tables;
创建表
create table 表名( id int not null auto_increment primary key, --不允许为空,自增,主键(不允许重复) name varchar(16) null, -- 允许为空 agr int default 3, -- 插入数据时,如果不给默认为3 ......)default charset=utf-8;
删除表
drop table 表名;
清空表
delete 表名; -- 速度慢,可恢复 truncate table 表名; -- 速度快,不可恢复
常见数据类型
数据类型 | 说明 | 用法示例 |
---|---|---|
INT | 整型,带符号或无符号,可用于存储整数 | CREATE TABLE example (id INT, age INT UNSIGNED); |
TINYINT | 非常小的整型,通常用于存储布尔值或状态码 | CREATE TABLE example (status TINYINT); |
BIGINT | 大整型,用于存储较大的整数 | CREATE TABLE example (id BIGINT); |
FLOAT | 单精度浮点数,用于存储小数 | CREATE TABLE example (price FLOAT); |
DOUBLE | 双精度浮点数,用于存储小数 | CREATE TABLE example (amount DOUBLE); |
DECIMAL | 定点数,用于存储精确的小数,精度和刻度可调整 | CREATE TABLE example (decimal_column DECIMAL(10,2)); |
CHAR | 定长字符串类型,长度可设置,用于存储固定长度的字符串 | CREATE TABLE example (name CHAR(50)); |
VARCHAR | 变长字符串类型,长度可设置,用于存储可变长度的字符串 | CREATE TABLE example (username VARCHAR(255)); |
TEXT | 用于存储长文本内容,如文章内容等 | CREATE TABLE example (content TEXT); |
BLOB | 用于存储二进制数据,如图片、文件等 | CREATE TABLE example (image BLOB); |
DATE | 日期类型,用于存储日期值(年-月-日) | CREATE TABLE example (birthdate DATE); |
DATETIME | 日期和时间类型,用于存储日期和时间值(年-月-日 时:分:秒) | CREATE TABLE example (event_time DATETIME); |
TIMESTAMP | 时间戳类型,用于存储时间戳值(基于当前日期和时间的整数) | CREATE TABLE example (timestamp_column TIMESTAMP); |
TIME | 时间类型,用于存储时间值(时:分:秒) | CREATE TABLE example (time_column TIME); |
3. python操作数据表:
import pymysql # 创建数据库连接 conn = pymysql.connect( host='127.0.0.1', # 数据库主机地址 user='root', # 数据库用户名 password='123mysql', # 数据库密码 database='cmcc', # 数据库名称 charset='utf8' # 数据库字符集 ) # 创建游标 cousor = conn.cursor() # 增 sql = "insert into userinfo (user,paw) values('小兰','1234');" # 删 sql = "delete from userinfo where `user` ='小兰'; " # 改 sql = "update userinfo set user = '小新' where `user` ='小红';" cousor.execute(sql) conn.commit() # 提交指令【只要是修改数据的,都要添加commit】 # 关闭连接 cousor.close() conn.close()
查:查比较特殊,所以要单独拎出来
import pymysql from pymysql.cursors import DictCursor # 创建数据库连接 conn = pymysql.connect( host='127.0.0.1', # 数据库主机地址 user='root', # 数据库用户名 password='123mysql', # 数据库密码 database='cmcc', # 数据库名称 charset='utf8' # 数据库字符集 ) # 创建游标 # cousor = conn.cursor() # 以元组形式返回 cousor = conn.cursor(cursor=DictCursor) # 以元组形式返回 # 查 sql = 'select * from userinfo;' cousor.execute(sql) # result = cousor.fetchall() # 返回所有数据 result = cousor.fetchone() # 只返回第一条数据 print(result) # 关闭连接 cousor.close() conn.close()