python-mysql
mysql数据库
一 MySQL基础
1 图形化的管理工具:pycharm工具里面有自带的dbsql的客户端连接数据库进行管理,phpmyadmin ,navicat
2 sql语句:
show databases;
create database mydatabase;
create table st(id int(4) not null,name char(20));
desc st;
insert into st(id,name)value(1,"xiao");
select * from st;
![](https://img2022.cnblogs.com/blog/1339149/202207/1339149-20220723102757668-1679403988.png)
使用python操作mysql
import pymysql
try: conn = pymysql.connect(
host="42.193.197.149",
user="xiao",
password="123123",
database="test",
charset = "utf8"
) #链接数据库
cursor = conn.cursor() # 生成操作句柄
sql="select * from class"
cursor.execute(sql) # 执行sql 语句
ret = cursor.fetchall() #取出所有的数据库
cursor.description() # 打印描述
ret = cursor.fetchone() #取出一条的数据库
print(ret) # 结果((1, '三年二班'), (2, '一年三班'), (3, '三年一班'))
ret = dict(zip([k[0] for k in cursor.description],cursor.fetchone() )) # 可以让数据与列名对应起来,以字典形式取到数据
print(ret['name'])
cursor.close() #关闭
conn.close() #关闭
except MySQLdb.Error as e:
print('Error:%s" % e)
插入数据
import pymysql conn = pymysql.connect(host="42.193.197.149",user="xiao",password="123123",database="userinfo") #链接数据库 cursor = conn.cursor() # 生成操作句柄 sql="insert into user_t(uname,passwd) values (%s,%s)" cursor.executemany(sql,[('cui','123123'),("alex","123123")]) # 执行sql 语句 #ret = cursor.fetchone() #取出所有的数据库 #print(ret) 结果((1, '三年二班'), (2, '一年三班'), (3, '三年一班')) conn.commit() cursor.close() #关闭 conn.close() #关闭
默认返回每一列是一个元组, 设置返回每一列为字典
import pymysql conn = pymysql.connect(host="42.193.197.149",user="xiao",password="123123",database="userinfo") #链接数据库 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 生成操作句柄 sql="select * from user_t" cursor.execute(sql) # 执行sql 语句 ret = cursor.fetchall() #取出所有的数据库 print(ret) #结果((1, '三年二班'), (2, '一年三班'), (3, '三年一班')) cursor.close() #关闭 conn.close() #关闭
ret = cursor.fetchmany(2) 指定取出2列数据