Python数据库简易教程

创建数据库:

CREAT TABLE 表名称 (键值)

其中必须有一个主键 即为 PRIMARY

NOT NULL 即为插入数据不能为空

1
2
3
4
5
6
7
import sqlite3

conn = sqlite3.connect("test.db")
print("Open data successful")

# 打开游标
c = conn.cursor()

SQL 数据插入

INSERT INTO COMPANY (字段) VALUE(值)

插入一条数据 INSERT INTO COMPANY (ID, NAME, AGE, ADDRESS) VALUES (1, "CTL", 18, "山东青岛")

在指定列中添加数据 INSERT INTO COMPANY (ID, NAME) VALUES (2, "CTL2")

1
2
3
4
5
6
7
8
9
def creat_table():
# 创建表 company 字段 ID NAME AGE ADDRESS ID是主键 均为非空值
c.execute("""CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL ,
NAME TEXT NOT NULL ,
AGE INT NOT NULL ,
ADDRESS CHAR(50))""")
print("Table creat successfully")
conn.commit()
conn.close()

如果不需要变量传入, 直接去掉{}加入字符串

LIKE 操作符

  • 如果要在上面的COMPANY表中选择名字中带有C的人出来的话

  • 使用SELECT语句 SELECT * FROM COMPANY WHERE NAME LIKE 'C%'

  • 选择特定字段的人出来 SELECT * FROM COMPANY WHERE ID='1'

SQL通配符

  • 如果要选择不包含18岁的人 SELECT * FROM COMPANY WHERE AGE NOT LIKE '%18%' %通配符

  • 选择名字中带有CTL的字段 SELECT * FROM COMPANY WHERE NAME LIKE 'C_T_L' 下划线_表示通配符

  • 选择名字中不以CTL开头的字段 SELECT * FROM COMPANY WHERE NAME LIKE '[!CTL]%'

SQL IN

  • 如果选取年龄为18城市为山东青岛的人 SELECT * FROM COMPANY WHERE AGE AND ADDRESS IN (18, '山东青岛')

SQL 运算

  • 选取年龄大于18岁的人 SELECT * FROM COMPANY WHERE AGE > 18

SQL 块数据

  • 如果选取CTL到CTL3之间的数据 SELECT * FROM COMPANY WHERE NAME BETWEEN 'CTL' AND 'CTL3'

SQL 数据移动

  • 如果把一个表的数据转移到另一个表SELECT * INTO COMPANY2 FROM COMPANY

  • 如果只是复制部分数据SELECT NAME, AGE INTO COMPANY2 FROM COMPANY

  • 如果只复制名字是CTL的数据SELECT * INTO COMPANY2 FROM COMPANY WHERE NAME='CTL'

1
2
3
4
def insert_data(ID, NAME, AGE, ADDRESS):
# 插入数据 insert into
c.execute(f'INSERT INTO COMPANY (ID, NAME, AGE, ADDRESS) VALUES ("{ID}", "{NAME}", "{AGE}", "{ADDRESS}")')
conn.commit()

SQL 数据更新

  • UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

  • 更新ID为1的名称为HELLO UPDATE COMPANY SET NAME='HELLO' WHERE ID=1

  • 更新某列 UPDATE COMPANY SET AGE=18 WHERE ADDRESS='山东青岛' 更新山东青岛地区所有人的年龄为18

  • 更新某一行的若干列 UPDATE COMPANY SET AGE=18,NAME="HZT" WHERE ADDRESS='山东青岛' 更新山东青岛地区人的年龄为18名字为HZT

1
2
3
4
5
6
7
def serch_data(ID):
cursor = c.execute(f'SELECT ID, NAME, AGE, ADDRESS FROM COMPANY WHERE ID={ID}')
return cursor

def update_data(NAME, ID):
c.execute(f"UPDATE COMPANY SET NAME={NAME} WHERE ID={ID}")
conn.commit()

SQL 删除

  • DELETE FROM 表名称 WHERE 列名称 = 值

  • 删除某行 DELETE FROM COMPANY WHERE NAME='CTL'

  • 删除所有行 DELETE FROM table_name

1
2
3
def delete_data(ID):
c.execute(f"DELETE FROM COMPANY WHERE ID={ID}")
conn.commit()

主函数

1
2
3
4
5
6
if __name__ == '__main__':
# insert_data(3, "CTL3", 20, "山东青岛")
# delete_data(2)
update_data("Hello", 1)

conn.close()
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2017-2021 More Star

请我喝杯咖啡吧~

支付宝
微信