【Python入门】43.数据库之 使用MySQL

摘要:如何快速创建一个简单的MySQL数据库;使用PyMySQL库操作MySQL。


*写在前面:为了更好的学习python,博主记录下自己的学习路程。本学习笔记基于廖雪峰的Python教程,如有侵权,请告知删除。欢迎与博主一起学习Pythonヽ( ̄▽ ̄)ノ *


数据库

使用MySQL

MySQL是Web世界中使用最广泛的数据库服务器,能承受高并发访问,同时占用的内存也远远大于SQLite。

创建一个简单的数据库

通过上面提供的网址,下载并安装MySQL。

安装成功后,在命令提示符中输入命令(这里用的是Windows系统):

cd C:\Program Files\MySQL\MySQL Server 8.0\bin

路径为安装MySQL的路径。

然后启动MySQL服务:

net start mysql80

由于安装的版本为8.0,所以这里输入的是mysql80

然后输入下面命令,进入MySQL:

mysql -u root -p

之后会提示输入密码,这是密码是在安装MySQL时设置的。

如果出现下面的提示,则表示成功进入MySQL:
创建一个简单的数据库

接下来创建一个名为test的数据库:

mysql> create database test
Query OK, 1 row affected (0.10 sec)

进入test数据库:

mysql> use test
Database changed

在test数据库中创建一个名为user的数据库表:

mysql> create table user(
    -> `id` int(11) NOT NULL AUTO_INCREMENT,
    -> `name` varchar(20) DEFAULT NULL,
    -> `score` int(10) NOT NULL,
    -> PRIMARY KEY (`id`)
    -> )ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
Query OK, 0 rows affected, 1 warning (0.12 sec)

user内,我们创建了idnamescore三行数据表,其中id为主键。

我们可以使用命令describe来查看:

mysql> describe user;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(20) | YES  |     | NULL    |                |
| score | int(10)     | NO   |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

至此,我们创建了一个简单的数据库。关于MySQL的更多操作,这里不做介绍。

接下来我们看看如何通过Python操作MySQL

使用PyMySQL

PyMySQL是Python中用于连接MySQL服务器的一个库。

我们通过PyMySQL来连接MySQL。

在命令提示符中通过pip命令安装:

pip install pymysql

安装完成后,就可以使用了。

我们引入PyMySQL模块,然后建立与MySQL的连接和游标:

>>> import pymysql
>>> conn = pymysql.connect('localhost','root','','test')
>>> cursor = conn.cursor()

connect()方法需要输入四个参数,依次为连接地址,用户名,密码,数据库名。

这里请确保已经开启MySQL服务,并且已创建了数据库test。

然后我们就可以进行相关操作了,如添加数据:

>>>cursor.execute('drop table if exists user')          # 如果存在表user,先删除,即二次启动。
0
>>>cursor.execute('create table user(id int primary key, name varchar(20),score int)')  
0
>>>cursor.execute(r"insert into user values(1,'Ming',100)")
1
>>>cursor.close()
>>>conn.commit()
>>>conn.close()

查询数据:

>>>conn = pymysql.connect('localhost','root','','test')
>>>cursor = conn.cursor()
>>> cursor.execute(r"select * from user where id = %s", (1))
1
>>> values = cursor.fetchall()
>>> values
((1, 'Ming', 100),)
>>>cursor.close()
>>>conn.close()

这里占位符用%s表示,与SQLite略有不同。其他操作代码与SQLite十分类似。

进行相关操作之后,记得关闭连接。


以上就是本节的全部内容,感谢你的阅读。

下一节内容:数据库之 使用SQLAlchemy

有任何问题与想法,欢迎评论与吐槽。

和博主一起学习Python吧( ̄▽ ̄)~*

猜你喜欢

转载自blog.csdn.net/lecorn/article/details/82776222
今日推荐