數據庫的一些基礎
"""
關系型數據庫(SQL數據庫):MySQL、Oracle、Sqlite3、SQLServer...
1.可以存儲統一格式的數據
2.可以用於保存大量的數據
3.表與表之間有關聯
非關系型數據(NoSQL數據庫):Mangodb、Redis....
"""
# 1.建立數據庫連接
# connect() 若數據庫文件存在,則打開,若不存在,則創建
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 WHERE s_id=72501"
# 執行查詢語句會返回一個結果集
result = cursor.execute(select_sql)
# 遍歷查詢結果
for x in result:
# x就是查詢到的數據,是一個小元組,元組中存放的是每一個字段的數據
print(x)
# 提交操作
connect.commit()
# 4.關閉遊標
cursor.close()
# 5.關閉連接
connect.close()
數據庫的一些基礎