Python MySQL创建表
目錄
一、創(chuàng)建表
二、檢查表是否存在
三、關(guān)鍵字
一、創(chuàng)建表
在庫(kù)student環(huán)境下創(chuàng)建表名為stu:
# coding=gbk #連接 import pymysqlmydb = pymysql.connect(host="localhost", #默認(rèn)用主機(jī)名port=3306,user="root", #默認(rèn)用戶名password="123456", #mysql密碼database='student', #庫(kù)名charset='utf8' #編碼方式 )print(mydb) #創(chuàng)建表 # # 獲取游標(biāo) 承載結(jié)果 mycursor = mydb.cursor()mycursor.execute("create table stu(id int ,name varchar(20),class varchar(30),age varchar(10))")# # 關(guān)閉數(shù)據(jù)庫(kù) # mydb.close()然后我們看一下建完的情況
如果python沒(méi)報(bào)錯(cuò),則創(chuàng)建成功,navicat中我們也看到了具體的情況。
連接的時(shí)候一定要寫(xiě)上庫(kù)名,不然創(chuàng)建表時(shí)會(huì)報(bào)錯(cuò)哦,如下
'Connection' object has no attribute 'execute'二、檢查表是否存在
您可以通過(guò)使用“SHOW TABLES”語(yǔ)句列出數(shù)據(jù)庫(kù)中的所有表來(lái)檢查表是否存在。如下則是返回系統(tǒng)數(shù)據(jù)庫(kù)的列表:
#連接 import pymysqlmydb = pymysql.connect(host="localhost", #默認(rèn)用主機(jī)名port=3306,user="root", #默認(rèn)用戶名password="123456", #mysql密碼database='student', #庫(kù)名charset='utf8' #編碼方式 )print(mydb) # # 獲取游標(biāo) 承載結(jié)果 mycursor = mydb.cursor() mycursor.execute("show tables") for i in mycursor:print(i)# # 關(guān)閉數(shù)據(jù)庫(kù) # mydb.close()演示:
?
三、關(guān)鍵字
創(chuàng)建表時(shí),您還應(yīng)該為每條記錄創(chuàng)建一個(gè)具有唯一鍵的列。這可以通過(guò)定義 PRIMARY KEY 來(lái)完成。我們使用語(yǔ)句“INT AUTO_INCREMENT PRIMARY KEY”,它將為每條記錄插入一個(gè)唯一的數(shù)字。從 1 開(kāi)始,每條記錄增加 1。
# coding=gbk #連接 import pymysqlmydb = pymysql.connect(host="localhost", #默認(rèn)用主機(jī)名port=3306,user="root", #默認(rèn)用戶名password="123456", #mysql密碼database='student', #庫(kù)名charset='utf8' #編碼方式 )print(mydb) # # 獲取游標(biāo) 承載結(jié)果 mycursor = mydb.cursor() # 創(chuàng)建所要求的表 mycursor.execute("CREATE TABLE customers (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), address VARCHAR(255))") # # 關(guān)閉數(shù)據(jù)庫(kù) # mydb.close()返回navicat結(jié)果
如果表已存在,請(qǐng)使用 ALTER TABLE 關(guān)鍵字:
#連接 import pymysqlmydb = pymysql.connect(host="localhost", #默認(rèn)用主機(jī)名port=3306,user="root", #默認(rèn)用戶名password="123456", #mysql密碼database='student', #庫(kù)名charset='utf8' #編碼方式 )print(mydb) # # 獲取游標(biāo) 承載結(jié)果 mycursor = mydb.cursor() # 創(chuàng)建所要求的表 mycursor.execute("ALTER TABLE stu ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY") # # 關(guān)閉數(shù)據(jù)庫(kù) # mydb.close()如果沒(méi)報(bào)錯(cuò),就是創(chuàng)建成功了。
如果原表中已有該 字段 ,肯會(huì)報(bào)錯(cuò),我們只需要?jiǎng)h掉該表中的該字段再運(yùn)行就可以了
總結(jié)
以上是生活随笔為你收集整理的Python MySQL创建表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Latex笔记(一)—— 复杂表格的制作
- 下一篇: java执行数据库命令行_java程序执