>[success] # 传统数据库 ~~~ 1. mysql postgresql sqlite 2. 传统数据库以表的形式存储数据,一个表可以存多个字段 3. 数据库通过 SQL 来操作数据,CRUD 增删改查create retrieve update delete ~~~ >[danger] ##### 基本语法--跟多语法看数据库基础文章 * 创建表 ~~~ CREATE TABLE `users` ( `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, `username` TEXT NOT NULL UNIQUE, `password` TEXT NOT NULL, `email` TEXT ) ~~~ * 插入数据 ~~~ INSERT INTO users(username,password,email) VALUES (2 2, 2); ~~~ * 查询数据 ~~~ select * from表 ~~~ * 删除数据 ~~~ DELETE FROM 表 WHERE id=? ~~~ >[danger] ##### python 使用sqlite3 ~~~ 1.使用sqlite3 库 2.指定数据库地址 3.连接数据库 4.执行数据库操作 5.提交数据库 6.关闭数据 ~~~ ~~~ import sqlite3 # 编写一个创建数据库的方法,参数是数据库对象 def create(conn): sql_create = """ CREATE TABLE `users` ( `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, `username` TEXT NOT NULL UNIQUE, `password` TEXT NOT NULL, `email` TEXT ) """ # 执行 sql 语句 conn.execute(sql_create) # 插入数据 ,指定插入的字段,参数是数据库对象 def insert(conn, username, password, email): sql_insert = ''' INSERT INTO users(username,password,email) VALUES (?, ?, ?); ''' # 执行sql 注意插入数据的时候,参数用元组 conn.execute(sql_insert, (username, password, email)) print('插入数据成功') # 查找数据,参数是数据库对象,条件查询也是传入元组 def select(conn): sql = ''' SELECT id, username, email FROM users ''' # 这是读取数据,返回是一个列表 cursor = conn.execute(sql) # 删除数据 def delete(conn, user_id): sql_delete = ''' DELETE FROM users WHERE id=? ''' # 注意, execute 的第二个参数是一个 tuple # tuple 只有一个元素的时候必须是这样的写法 conn.execute(sql_delete, (user_id,)) # 更新数据 def update(conn, user_id, email): sql_update = ''' UPDATE `users` SET `email`=? WHERE `id`=? ''' conn.execute(sql_update, (email, user_id)) def main(): # 指定数据库名字并打开 db_path = 'web8.sqlite' conn = sqlite3.connect(db_path) # 打开数据库后 就可以用 create 函数创建表 # create(conn) # 然后可以用 insert 函数插入数据 # insert(conn, 'sql4', '1234', 'a@b.c') # 可以用 delete 函数删除数据 # delete(conn, 1) # 可以用 update 函数更新数据 # update(conn, 1, 'gua@cocode.cc') # select 函数查询数据 # select(conn) # 必须用 commit 函数提交你的修改 # 否则你的修改不会被写入数据库 conn.commit() # 用完数据库要 conn.close() ~~~