用Python建立数据库完成以下问题

有学生管理数据库studata,其中有学生基本信息表st1如下:

img

写出完成以下操作的SQL语句:
(1)创建数据库studata
(2)在数据库studata中创建学生数据表st1,学号为主键;学号,年龄的类型均为INT型,长度分别为8和3;姓名,性别的类型均为VARCHAR型,长度分别为10和2。
(3)向表中增加张姗姗和李杨柳的记录。
(4)从st1表中删除学号为20190102的学生记录
(5)查询st1表中全部女生记录
(6)删除表st1

创建sqlite数据库
import sqlite3

path = r'C:\Users\Administrator\Desktop\studata.db'

#创建数据库sutdata
c = sqlite3.connect(path)

# 创建表st1
c.execute("CREATE TABLE st1(学号 int(8) primary key,姓名 varchar(10),性别 varchar(2),年龄 int(3))")
c.commit()

# 向表中加记录
c.executemany("INSERT INTO st1(学号,姓名,性别,年龄) VALUES(?,?,?,?)", [(20190101, '张姗姗', '女', 19), (20190102, '李杨柳', '男', 20)])
c.commit()

# 从表中删除
c.execute("DELETE FROM st1 WHERE 学号=20190102")
c.commit()

# 查询所有女生
cur = c.execute("SELECT * FROM st1 WHERE 性别='女'")
for i in cur.fetchall():
    print(i)

#删除表    
c.execute("DROP TABLE st1")
c.commit()


create DATABASE studata

create table studata.st1
(学号 int(8) PRIMARY key,
年龄 int(3),
姓名 varchar(10),
性别 varchar(2)
)

insert into studata.st1 values(20190101,19,'张珊珊','女')

insert into studata.st1 values(20190102,20,'李杨柳','男')

DELETE from studata.st1 where 学号=20190102 

select * from studata.st1 where 性别='女'

drop table studata.st1

python 连接mysql 后,用哪个就执行哪个就行了


import pymysql
conn = pymysql.connect(host='127.0.0.1',port=3306,user='abc',passwd='123',db='')
sql_cmd="create DATABASE studata"
cn=conn.cursor()
cn.execute(sql_cmd)
conn.commit()
conn.close()



通过 面相对象的方式实现Sqlite增删改查,

链接是Sqlite 封装调用实现 https://blog.csdn.net/yuchenlove_/article/details/124877604

结果

img

if __name__ == '__main__':
    db_stu = DBSupport(studata)
    stu = studata()
    stu.id = '1'
    stu.name = '张珊珊'
    stu.Gender = '女'
    stu.age = 19
    stu.Number = 20190101
    i = db_stu.Insert(stu)
    if i > 0:
        print(f"数据插入:{stu.name} 创建成功!")
    else:
        print(f"数据插入:{stu.name} 创建失败!")
    # 查询
    stu = studata()
    stu.id = '2'
    stu.name = '李杨柳'
    stu.Gender = '男'
    stu.age = 20
    stu.Number = 20190102
    i = 0
    i = db_stu.Insert(stu)
    if i > 0:
        print(f"数据插入:{stu.name} 创建成功!")
    else:
        print(f"数据插入:{stu.name} 创建失败!")
    r = db_stu.Delete(stu, " Number = '20190102'")
    if r:
        print(f"数据删除:20190102 删除成功!")
    ls = db_stu.Query("select * from studata where 1=1")
    print(ls[0].name)