1. 程式人生 > >Python建立資料庫和資料表

Python建立資料庫和資料表

一 建立資料庫

1 CreateDatabase類

# -*-coding:utf-8 -*-
import MySQLdb
from ReadCode import ReadCode
class CreateDatabase():
    def __init__(self,sql):
        readcode=ReadCode()
        name=readcode.return_line()[0]
        code=readcode.return_line()[1]
        db=MySQLdb.connect("localhost","%s"%name,"%s"%code)
        cursor=db.cursor()
        try:
            cursor.execute(sql)
db.commit()
        except:
            db.rollback()
        db.close()
if __name__=='__main__':
    test=CreateDatabase("create database test2")

2 測試結果

二 建立資料表

1 資料庫配置檔案內容

root    123456    test

2 CreateTable類

# -*- coding: UTF-8 -*-
import wx
import wx.xrc
import MySQLdb
from ReadCode import ReadCode
from Notice import MyFrame3
class CreateTable():
    def __init__(self,sql):
        readcode = ReadCode()
        Line = readcode.return_line()
        # 開啟資料庫連線
        try:
            db = MySQLdb.connect("localhost", "%s" % Line[0],
                                 "%s" % Line[1], "%s" % Line[2])
        except:
            notice = MyFrame3(None, '請檢查主面板的使用者名稱、'
                                    '密碼、DATABASE是否輸入!')
            notice.Show()
        else:
            try:
                # 使用cursor()方法獲取操作遊標
                cursor = db.cursor()
                cursor.execute(sql)
            except:
                notice = MyFrame3(None, '請檢查表名等是否重複、出錯!')
                notice.Show()
            # 關閉資料庫連線
            db.close()

if __name__=='__main__':
    app=wx.App()
    window=MyFrame3(None)
    test = CreateTable( "CREATE TABLE `sys_permission_test` (`id` int(11) NOT NULL AUTO_INCREMENT,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;")
    #window.Show()
    app.MainLoop()

3 測試結果