创建数据库
Create database 数据库名
创建表
Create table 表名(列名,数据类型)
数据库参数
Int 使用整形
Char定义长字符
pymysql.Connect()参数说明
host(str): MySQL服务器地址
port(int): MySQL服务器端口号
user(str): 用户名
passwd(str): 密码
db(str): 数据库名称
charset(str): 连接编码
connection对象支持的方法
cursor() 使用该连接创建并返回游标
commit() 提交当前事务
rollback() 回滚当前事务
close() 关闭连接
cursor对象支持的方法
execute(op) 执行一个数据库的查询命令
fetchone() 取得结果集的下一行
fetchmany(size) 获取结果集的下几行
fetchall() 获取结果集中的所有行
rowcount() 返回数据条数或影响行数
close() 关闭游标对象
1.增,删,改
必须运行此语句,才能插入数据:conn.commit()
1. import pymysql
2conn=pymysql.connect(host="localhost",user='root',password='',database="db666")
3 cursor = conn.cursor()
4 sql = "insert into userinfo1(username,password) values('root','123123')"
2.查
fetchone() 一次取一条数据
fetchall() 一次取所有数据(sql语句查到的所有数据)
fetchmany(num) 一次取num条数据 ,一般不用
# 查
1. conn = pymysql.connect(host="localhost", user='root', password='', database='db666')
2. cursor = conn.cursor()
# 连接数据库db666成功
3. sql = "select * from userinfo1"
4. cursor.execute(sql)
# 执行sql语句,得到结果
5. result = cursor.fetchall()
6. print(result)
# 打印结果
# 断开连接
7. cursor.close()
8. conn.close()
注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如:
cursor.scroll(1,mode='relative') # mode='relative',代表相对当前位置移动
cursor.scroll(2,mode='absolute') # mode='absolute',代表相对绝对位置移动
查询默认是元祖类型,可更改为字典类型
# 游标设置为字典类型
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)显示新插入数据的自增id
1. # 显示自增id
2. conn = pymysql.connect(host="localhost", user='root', password='', database='db666')
3. cursor = conn.cursor(pymysql.cursors.DictCursor)
# 连接数据库db666成功
4. sql = "insert into userinfo1(username,password) values('bbb', ('123456'))"
5. # up_id = cursor.lastrowid 这种写法会报错
6.
cursor.execute(sql)
7. conn.commit()
8. print(cursor.lastrowid) #显示自增id
# 执行sql语句,得到结果
9. result = cursor.fetchall()
10. print(result)
# 打印结果
# 断开连接
11. cursor.close()
12. conn.close()