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;

 

 

使用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列数据
posted @ 2021-12-19 10:29  huxl1  阅读(43)  评论(0编辑  收藏  举报