python3常用mysql库,Python3操作MySQL数据库

一.安装PyMySQL

cmd

pip install pymysql

查看pymysql安装是否成功

pip show pymysql

702542e71b40

安装pymysql

二.创建MySQL表

CREATE TABLE 'users'{

'id' INT(11) NOT NULL AUTO_INCREMENT, //id值,非空,递增

'email' VARCHAR(255) COLLATE utf8_bin NOT NULL, //email 非空

'password' VARCHAR(255) COLLATE utf8_bin NOT NULL,

PRIMARY KEY('id')

} ENGINE=INNODB //设置表的存储引擎,一般常用InnoDB和MyISAM;InnoDB可靠,支持事务;MyISAM高效不支持全文检索

DEFAULT CHARSET=utf8 //设置默认的编码,防止数据库中文乱码

COLLATE=utf8_bin

AUTO_INCREMENT=1 ;

三.Python操作MySQL

3.1 插入数据

import pymysql.cursors

// 1. 连接MySQL数据库

connection=pymysql.connect(host='127.0.0.1',port=3306,user='root',password='XXXX',db='数据库名称',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)

// 2. 通过cursor创建游标

cursor=connection.cursor()

// 3. 创建数据表

cursor.execute("create table users(id int,email varchar(255),password(255))")

// 4. 创建sql语句,插入一条数据,并执行

sql="insert into 'users' ('email','password') values ('guoguoXXXX@163.com','123456')"

cursor.execute(sql)

//5. 修改查询条件的数据

cursor.execute("update users set password='654321' where email='guoguoXXXX@163.com'")

//6. 删除查询条件的数据

cursor.execute("delete from users where password='654321'")

//7. 关闭游标

cursor.close()

// 8. 提交SQL

connection.commit()

//9. 关闭数据库连接

connection.close()

cursor() 方法创建数据库游标

execute() 方法执行SQL语句

commit() 将数据库的操作真正的提交到数据

3.2插入多条数据

// 插入一条数据

sqli="insert into user values(%s,%s,%s)"

cursor.execute(sqli,('2','email@email.com','123456'))

// 插入多条数据

sqli="insert into user values(%s,%s,%s)"

cursor.executemany(sqli,[

('3','email1@email.com','123456'),

('4','email2@email.com','123456')

('5','email3@email.com','123456')

])

cur.close()

conn.commit()

conn.close()

executemany()——可以一次插入多条值,执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数。

3.3查询数据

import pymysql.cursors

// 连接MySQL 数据库

connection=pymysql.connect(host='127.0.0.1',port=3306,user='root',password='XXXX',db='数据库名称',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)

// 通过cursor创建游标

cursor=connection.cursor()

// 执行数据查询

sql="SELECT 'id','password' FROM 'users' WHERE 'email'='guoguo@163.com'"

cursor.execute(sql)

// 查询数据库单条数据

result=cursor.fetchone()

print(result)

print("---------------------华丽分割线-----------------------")

// 执行数据查询

sql="SELECT 'id','password' FROM 'users'"

cursor.execute(sql)

// 查询数据库多条数据

result=cursor.fetchall()

for data in result:

print(data)

// 关闭数据连接

connection.close()

fetchone()用于查询单条数据;

fetchall()用于查询多条数据;

close()关闭数据连接。

运行结果:

{'password': '123456', 'id': 1}

-----------华丽分割线------------

{'password': '123456', 'id': 1}

{'password': '654321', 'id': 2}

四.MySQL的基本操作

$ mysql -u root -p(有密码时)

$ mysql -u root (无密码时)

mysql> show databases; //查看当前所有的数据库

mysql>use test; // 作用于test数据库

mysql>show tables; //查看test库下面的表

// 创建user表,name和password两个字段

mysql>CREATE TABLE user (name VARCHAR(20),password VARCHAR(20));

// 向user表内插入若干条数据

mysql>insert into user values('Tom','12345');

Query OK, 1 row affected (0.08 sec)

mysql>insert into user values('Alen','7875');

Query OK, 1 row affected (0.05 sec)

// 查看user表的数据

mysql>select * from user;

+------+----------+

| name | password |

+------+----------+

| Tom | 12345 |

| Alen | 7875 |

+------+----------+

3 rows in set (0.01 sec)

// 删除name等于Tom的数据

mysql>delete from user where name='Tom';

// 修改name等于Alen的password为111111

mysql>update user set password='111111' where name='Alen';

// 删除数据表

drop table table_name

// 在固定位置插入一列(在col_name1列后面插入)

alter table table_name add column col_name varchar(20) not null after col_name1

// 在数据表的最后一列插入

alter table table_name add column col_name varchar(20) not null

//每次进入数据库设置字符编码(防止中文乱码)

set charset 'gbk';

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值