1小時學(xué)會 Python操作Mysql數(shù)據(jù)庫之pymysql模塊技術(shù):https://www.bilibili.com/video/BV1Dz4y1j7Jr
pymysql對操作mysql DDL(Data Definition Language) 數(shù)據(jù)庫模式定義語言,提供了很好的支持。
連接MySQL數(shù)據(jù)庫后,可以使用cursor()方法創(chuàng)建一個游標(biāo)對象。游標(biāo)對象用于執(zhí)行MySQL語句并返回結(jié)果。
建表DDL:
"""
pymysql執(zhí)行DDL語句
"""
from pymysql import Connection
con = None
try:
# 創(chuàng)建數(shù)據(jù)庫連接
con = Connection(
host="localhost", # 主機名
port=3306, # 端口
user="root", # 賬戶
password="123456", # 密碼
database="db_python" # 指定操作的數(shù)據(jù)庫
)
# 創(chuàng)建游標(biāo)對象
cursor = con.cursor()
# 定義建表sql語句
sql = """CREATE TABLE `t_student3` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(10) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
"""
# 選擇要操作的數(shù)據(jù)庫
# con.select_db("db_python")
# 使用游標(biāo)對象,執(zhí)行sql
cursor.execute(sql)
except Exception as e:
print("異常", e)
finally:
if con:
# 關(guān)閉連接
con.close()
#對表中的字段進行增,刪,改的操作
#格式:alter table 表名 add/drop/modify/change [column] .......
#向表中添加字段:alter table 表名 add [column] 字段名 字段類型;
ALTER TABLE stu ADD COLUMN age INT;
#刪除表中的字段:alter table 表名 drop [column] 字段名:
ALTER TABLE stu DROP age;
#修改字段的名字:alter table 表名 change [column] 舊字段名 新字段名 字段類型;
ALTER TABLE stu CHANGE COLUMN sname s2name VARCHAR(20);
#修改字段的類型:alter table 表名 modify [column] 字段名 字段類型;
ALTER TABLE stu MODIFY id VARCHAR(20);
#修改表的名字: alter table 舊表名 rename to 新表名:
ALTER TABLE stu4 RENAME TO stu5;
增加字段
ALTER TABLE t_student3 ADD COLUMN sex VARCHAR(2)
修改字段
ALTER TABLE t_student3 MODIFY NAME VARCHAR(12)
from pymysql import Connection
con = None
try:
# 創(chuàng)建數(shù)據(jù)庫連接
con = Connection(
host="localhost", # 主機名
port=3306, # 端口
user="root", # 賬戶
password="123456" # 密碼
# database="db_python" # 指定操作的數(shù)據(jù)庫
)
# 創(chuàng)建游標(biāo)對象
cursor = con.cursor()
# 定義建表sql語句
sql = "ALTER TABLE t_student2 MODIFY NAME VARCHAR(12)"
# 選擇要操作的數(shù)據(jù)庫
con.select_db("db_python")
# 使用游標(biāo)對象,執(zhí)行sql
cursor.execute(sql)
except Exception as e:
print("異常", e)
finally:
if con:
# 關(guān)閉連接
con.close()