主要内容:python有关数据库的操作!
直接放代码,具体细节看注释!
import pymysql
DBHOST = 'localhost' # 将各种需要输入的提取出来,方便后续修改
DBUSER = 'root' # 用户名,一般都是root
DBPASS = '1' # 密码!!!千万别忘记,特别难找
DBNAME = 'student' # 这个是你在mysql里面创建的库的名字!得先在mysql里面建完才不会报错
# 用try和except来捕获异常
try:
db = pymysql.connect(host=DBHOST, user=DBUSER, password=DBPASS, database=DBNAME)
print('数据库连接成功!')
except pymysql.Error as e:
print('数据库连接失败' + str(e))
cur = db.cursor()
# 下面两个注释掉的代码是创建表的!如果已经创建过就不能再创建,会报错
# sqlQuery = "CREATE TABLE Student(Name CHAR(20) NOT NULL ,Email CHAR(20),Age int )"
# cur.execute(sqlQuery)
# 增加新的数据段!
sqlQuery = " INSERT INTO Student (Name, Email, Age) VALUE (%s,%s,%s) "
value = ('高培瑜', '20195784@163.com', 21)
# 用try和except来捕获异常 以及提醒输入是否成功
try:
cur.execute(sqlQuery, value)
db.commit()
print('数据插入成功!')
except pymysql.Error as e:
print("数据插入失败:" + e)
db.rollback()
# 开始查询! 注意“”里面的要用‘’来区分对应引号
sqlQuery = "SELECT * FROM Student WHERE Name='高培瑜' "
try:
cur.execute(sqlQuery)
results = cur.fetchall()
for row in results:
name = row[0]
email = row[1]
age = row[2]
print('Name:%s,Email:%s,Age:%s' % (name, email, age))
except pymysql.Error as e:
print("数据查询失败:" + str(e))
关于一些常用的数据库操作 代码:
https://blog.csdn.net/hzw6991/article/details/87757426
这里面很详细!看这里面即可!
比较常用的:
1.增加数据(insert)3种方式
1.1 insert into 表名 values(值1,值2,...)(很少用)
1.2 insert into 表名(字段1,字段2...) values(值1,值2,....);(较常用)
1.3 insert into 表名(字段1,字段2...) values(值1,值2,....),(值1,值2,....),(值1,值2,....);
2.删除数据(delete) delete from 表名 where 条件 注意:where 条件必须加,否则数据会被全部删除
3.更新数据(update) update 表名 set字段1 = 值1, 字段2 = 值2 where 条件
4.查询数据(select)
4.1 查询表中的所有数据 select * from 表名
4.2 指定数据查询 select 字段 from 表名
根据条件查询出来的数据 select 字段 from 表名 where 条件 (最常用的)
where 条件后面跟的条件
关系:>,<,>=,<=,!=
逻辑:or, and
区间:id between 4 and 6 ;闭区间,包含边界
5.排序
select 字段 from 表 order by 字段 排序关键词(desc | asc)
排序关键词 desc 降序 asc 升序(默认)
5.1 通过字段来排序
例如 :select * from star order by money desc, age asc;
5.2 多字段排序
select 字段 from 表 order by 字段1 desc |asc,...字段n desc| asc;
6.常用的统计函数 sum,avg,count,max,min
只分组:select * from 表 group by 字段
例子: select count(sex) as re,sex from star group by sex having re > 3;
分组统计: select count(sex) from star group by sex;
7.分组 select * from 表名 limit 偏移量,数量
说明:
8.1.不写偏移量的话就是默认的为0
8.2.实现分页的时候必须写偏移量
偏移量怎么计算?:
limit (n-1)*数量 ,数量