1. 建立数据库连接
#cunnect() 若数据库文件存在则打开,若不存在则创建
import aqlite3
connect = sqlite3.connect('database.db)
####### 创建表的sql语句 ########
- # CREATE TABLE 表名(字段1 字段类型 约束条件, 字段2 ......)
- # INTEGER 无符号整型
- # CHAR 字符
- # VARCHAR 字符 默认可以存储字符串长度255
- # TEXT 字符文本 可以存储大量文本数据
- # PRIMARY KEY 主键约束 默认唯一,非空
- # NOT NULL 非空约束
- # UNIQUE 唯一约束
- # IF NOT EXISTS 若表不存在就创建表
# 例如学员管理系统中,可以把学号/身份证号作为主键
# 准备要执行的SQL语句
sql = "CREATE TABLE IF NOT EXISTS student(s_id INTEGER PRIMARY KEY,name CHAR NOT NULL,phone INTEGER UNIQUE)"
2.获取游标,游标用来操作sql语句执行的
cursor = connect.cursor()
3.执行sql语句
cursor.execute(sql)
1.插入数据的sql语句
INSERT INTO 表名(字段名1、字段名2...) VALUES(值1,值....)
insert_sql = "INSERT INTO student(s_id,name,phone)VALUES(072503,'王五',110)"
执行插入数据的sql语句
cursor.execute(insert_sql)
2.修改数据库中的数据,修改SQL语句
UPDATE 表名 SET 修改的字段1=修改的值 WHERE 修改的条件
update_sql = "UPDATE student SET name='小明',phone=120 WHERE s_id=72501"
cursor.execute(update_sql)
3.删除数据库中的数据
DELETE FROM 表名 WHERE 删除的条件
del_sql = "DELETE FROM student" # 删除表中所有数据
del_sql = "DELETE FROM student WHERE name='李四'" # 删除单条
cursor.execute(del_sql)
4.读取数据库中的数据
* 表示所有字段 SELECT * FROM 表名 WHERE 查询的条件 可以指定获取某些字段数据 SELECT name,phone FROM 表名 WHERE 查询条件
select_sql = "SELECT name, phone FROM student"
执行查询语句会返回一个结果集
result = cursor.execute(select_sql)
print(result)
遍历查询结果
for x in result:
# x就是查询到的数据,是一个小元组,元组中存放的是每一个字段的数据
print(x)
提交操作
connect.commit()
4.关闭游标
cursor.close()
5.关闭连接
connect.close()
~~~附~~~
1.创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
2.删除表
drop table tabname
3.查询:select * from table1 where 范围
4.插入:insert into 表名(字段名1,字段名2) values(值1,值2)
5.删除:delete from table1 where 范围
6.修改:update 表名 set 修改的字段名=修改的字段值 where 范围
7.查找:select * from table1 where field1 like ’%value1%’ N%匹配以N开头 %N匹配以N结尾 %N%匹配包含N
[a,b]% 以a或b开头 %[a,b]以a或b结尾
select * from table1 where field1 like 'z_'以z开头且匹配之后一个字符
升序输出数据记录
select * from table_name order by field asc
降序输出数据记录
select * from table_name order by field desc
9.总数:select count (*) from table_name;