python之mysql数据库操作_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2063 | 回复: 0   主题: python之mysql数据库操作        下一篇 
shunzi
注册用户
等级:上尉
经验:782
发帖:133
精华:0
注册:2011-10-10
状态:离线
发送短消息息给shunzi 加好友    发送短消息息给shunzi 发消息
发表于: IP:您无权察看 2014-12-26 9:17:35 | [全部帖] [楼主帖] 楼主

1. mysql数据库服务器连接:

# -*- coding: cp936 -*-

# mysql examples

import mysql.connector

from mysql.connector import errorcode

# 连接数据库

# 1

cnx = mysql.connector.connect(user = 'xmltest',

password = '123456',

host = '127.0.0.1',

database = 'txml')

# 2

try:

cnx = mysql.connector.connect(user = 'xmltest',

password = '123456',

host = '127.0.0.1',

database = 'txml')

except mysql.connector.Error as err:

if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:

print ("Something is wrong your username or password")

elif err.errno == errorcode.ER_BAD_DB_ERROR:

print ("Database does not exists")

else:

print (err)

# 3

config = {

    'user':'xmltest',

    'password':'123456',

    'host':'127.0.0.1',

    'database':'txml'

}

cnx = mysql.connector.connect(**config)

2. 创建数据库:

# -*- coding: cp936 -*-

# mysql examples

import mysql.connector

from mysql.connector import errorcode

# 创建数据库

def create_database(cursor, DB_NAME):

try:

cursor.execute(

"CREATE DATABASE {} DEFAULT CHARACTER SET 'utf8'".format(DB_NAME))

except mysql.connector.Error as err:

print ("Failed creating database: {}".format(err))

exit(1)

print 'create database success.'

# 选择数据库:若不存在,则创建

def select_database(cursor, DB_NAME):

try:

cnx.database = DB_NAME

except mysql.connector.Error as err:

if err.errno == errorcode.ER_BAD_DB_ERROR:

print 'database is not exist, create it now...'

create_database(cursor,DB_NAME)

cnx.database = DB_NAME

else:

print err

print 'select database success.'

3.  创建表

# -*- coding: cp936 -*-

# mysql examples

import mysql.connector

from mysql.connector import errorcode

# 创建表

TABLES = {}

TABLES['employees'] = (

"CREATE TABLE `employees` ("

" `emp_no` int(11) NOT NULL AUTO_INCREMENT,"

" `birth_date` date NOT NULL,"

" `first_name` varchar(14) NOT NULL,"

" `last_name` varchar(16) NOT NULL,"

" `gender` enum('M','F') NOT NULL,"

" `hire_date` date NOT NULL,"

" PRIMARY KEY (`emp_no`)"

")"

)

TABLES['departments'] = (

"CREATE TABLE `departments` ("

" `dept_no` char(4) NOT NULL,"

" `dept_name` varchar(40) NOT NULL,"

" PRIMARY KEY(`dept_no`), UNIQUE KEY `dept_name` (`dept_name`)"

")"

)

TABLES['salaries'] = (

"CREATE TABLE `salaries` ("

" `emp_no` int(11) NOT NULL,"

" `salary` int(11) NOT NULL,"

" `from_date` date NOT NULL,"

" PRIMARY KEY(`emp_no`, `from_date`), KEY `emp_no` (`emp_no`),"

" CONSTRAINT `salaries_ibfk_1` FOREIGN KEY (`emp_no`) "

" REFERENCES `employees` (`emp_no`) ON DELETE CASCADE"

")"

)

TABLES['dept_emp'] = (

"CREATE TABLE `dept_emp` ("

" `emp_no` int(11) NOT NULL,"

" `dept_no` char(4) NOT NULL,"

" `from_date` date NOT NULL,"

" `to_date` date NOT NULL,"

" PRIMARY KEY(`emp_no`, `dept_no`), KEY `emp_no` (`emp_no`),"

" KEY `dept_no` (`dept_no`),"

" CONSTRAINT `dept_emp_ibfk_1` FOREIGN KEY (`emp_no`) "

" REFERENCES `employees` (`emp_no`) ON DELETE CASCADE,"

" CONSTRAINT `dept_emp_ibfk_2` FOREIGN KEY (`dept_no`) "

" REFERENCES `departments` (`dept_no`) ON DELETE CASCADE"

")"

)

def create_table(table):

global cursor

for key in table:

try:

print ("Creating table {}:".format(key))

cursor.execute(table[key])

except mysql.connector.Error as err:

if err.errno == errorcode.ER_TABLE_EXISTS_ERROR:

print 'already exist.'

else:

print err.errmsg

else:

print 'OK'

if __name__ == '__main__':

config = {

    'user':'xmltest',

    'password':'123456',

    'host':'127.0.0.1',

    'database': 'mytest'

}

cnx = mysql.connector.connect(**config)

cursor = cnx.cursor()

create_table(TABLES)

#cnx.commit()

cnx.close()

4. 插入数据

# -*- coding: cp936 -*-

# mysql examples

import mysql.connector

from mysql.connector import errorcode

from datetime import date, datetime, timedelta

if __name__ == '__main__':

config = {

    'user':'xmltest',

    'password':'123456',

    'host':'127.0.0.1',

    'database': 'mytest'

}

cnx = mysql.connector.connect(**config)

cursor = cnx.cursor()

tomorrow = datetime.now().date() + timedelta(days=1)

add_employee = ("INSERT INTO employees "

"(first_name, last_name, hire_date, gender, birth_date) "

"VALUES (%s, %s, %s, %s, %s)"

)

add_salary =("INSERT INTO salaries "

"(emp_no, salary, from_date, to_date) "

"VALUES (%(emp_no)s, %(salary)s, %(from_date)s, %(to_date)s)"

)

data_employee = ('Geert', 'Vanderkelen', tomorrow, 'M', date(1977,6,14))

#insert new employee

cursor.execute(add_employee, data_employee)

cnx.commit()

emp_no = cursor.lastrowid

#insert salary information

data_salary = {

    'emp_no' : emp_no,

    'salary' : 50000,

    'from_date' : tomorrow,

    'to_date' : date(9999,1,1)

}

cursor.execute(add_salary, data_salary)

#make sure data is committed to the database

cnx.commit()

cnx.close()

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论