
上一篇,在创建user表时,name字段的定义是错误的,应该是char(50)而不是cahr(50),此外还做了几处修改,改动后的内容如下
#coding=utf-8
import sqlite3
conn = sqlite3.connect('mydata.db')
def create_table():
create_sql = '''
create table user(
id INTEGER PRIMARY KEY autoincrement NOT NULL,
name char(50) NOT NULL,
age INTEGER NOT NULL
);
'''
conn.execute(create_sql)
create_table()
不要太关心大小写问题,大写小写都可以
autoincrement 是递增的意思,每次写入新的数据时,它会自动增长
char 你或许还很陌生,把它理解成字符串就可以了,括号里写50,表示这个字段的长度最大是50,如果名字的长度超过50,写入数据库就会失败

def insert():
sql = u"insert into user(name,age) values ('小明',10)"
conn.execute(sql)
conn.commit()
我这里实现了一个写入数据的函数,字符串sql是一条sql语句,执行这条sql语句可以向数据库里增加一条数据,conn.execute(sql) 结束后,一定要执行commit操作,这个方法的意思是将更改提交到数据库。

你肯定不希望每次写入数据库里的数据都是小明,名字和年龄应该是可以自由变化的
def insert(name,age):
sql = u"insert into user(name,age) values
('{name}',{age})".format(name=name,age=age)
conn.execute(sql)
conn.commit()
insert(u'white',20)
你现在可以调用insert函数,向数据库里写入你自己定义的数据了,通过SQLiteStudio这个工具,你可以随时查看表里的数据,除了使用工具,你也可以编写一段代码来查看
def select():
sql = "select * from user"
res = conn.execute(sql)
data = res.fetchall()
print data
select()
对于一张数据库表的操作,无非是新增,删除,修改,查看,本篇已经简单的介绍了新增和查看,明天会介绍修改和删除,有了这些简单的数据库知识,结合web.py,就可以写一些简单的应用了。

#coding=utf-8
import sqlite3
import os
dbname = 'mydata.db'
if os.path.exists(dbname):
os.remove(dbname)
#建立连接
conn = sqlite3.connect(dbname)
def create_table():
create_sql = '''
create table user(
id INTEGER PRIMARY KEY autoincrement NOT NULL,
name char(50) NOT NULL,
age INTEGER NOT NULL
);
'''
conn.execute(create_sql)
def insert(name,age):
sql = u"insert into user(name,age) values
('{name}',{age})".format(name=name,age=age)
conn.execute(sql)
conn.commit()
def select():
sql = "select * from user"
res = conn.execute(sql)
data = res.fetchall()
print data
create_table()
insert('white',20)
insert('black',19)
select()




