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