如果对于数据库不了解,可以先看这个
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)