Python——MySQLdb模块数据库操作

如果对于数据库不了解,可以先看这个

SQL教程:http://www.runoob.com/sql/sql-tutorial.html

python 2.5以后自带的是Sqlite数据库,模块名为sqlite3,无需安装即可使用,但是我用的还是MySQLdb模块,暂时先写这个。


引入模块

import MySQLdb

数据库的连接和断开

config={

'host':'127.0.0.1',

'port':3306,

'user':'root',

'passwd':'',

'db':'test',

'charset':'UTF8'

}

conn=MySQLdb.connect(**config)

conn.autocommit(1)

............

#其他数据库操作,如下面的创建table,增、删、改、查等sql语句

...........

conn.close()

conn.autocommit 的作用是自动提交数据,如果不提交到数据库,insert等sql语句,不会真的对数据库进行操作。

当然也可以选择在需要时手动提交

conn=MySQLdb.connect(host = '127.0.0.1',user = 'root',passwd = '',db = 'test')

createsql =  创建table的sql 语句

cursor.execute(createsql)

conn.commit()

创建table

createsql='''CREATE TABLE testtable(

time VARCHAR(255),

name VARCHAR(16),

age INT)'''

cursor.execute(createsql)

删除table

dropsql="DROP TABLE testtable"

cursor.execute(dropsql)

插入数据

insertsql='INSERT INTO  testtable VALUES(%s,%s,%s)'

param=('2017-07-24','MaHui',23)

cursor.execute(insertsql,param)

查询数据

a='MaHui'

querysql="SELECT * FROM testtable WHERE name = '%s' "%a

cursor.execute(querysql)

results=cursor.fetchall()

for row in results:

     print row

查询时,sql语句中不加入WHERE子句,"SELECT * FROM testtable"会显示整张表格的内容

指定列名,可以查看某几列的名字,如:SELECT name FROM testtable

删除数据

a='MaHui'

deletesql="DELETE FROM testtable WHERE name = '%s'"%a

cursor.execute(deletesql)

你可能感兴趣的:(Python——MySQLdb模块数据库操作)