用python连接数据库并在里面创建数据库等操作
时间: 2024-01-22 22:19:55 浏览: 24
首先,你需要安装一个 Python 的数据库连接库。其中最常用的库是 `mysql-connector-python` 和 `pymysql`。本例以 `mysql-connector-python` 为例进行介绍。
1. 安装 `mysql-connector-python` 库
```python
pip install mysql-connector-python
```
2. 连接数据库
```python
import mysql.connector
# 创建连接
cnx = mysql.connector.connect(user='username', password='password', host='localhost', database='mydatabase')
```
其中 `user` 是数据库用户名,`password` 是密码,`host` 是数据库所在的主机名,`database` 是要连接的数据库名。
3. 创建数据库
```python
import mysql.connector
# 创建连接
cnx = mysql.connector.connect(user='username', password='password', host='localhost')
# 创建数据库
cursor = cnx.cursor()
cursor.execute("CREATE DATABASE mydatabase")
```
4. 创建表
```python
import mysql.connector
# 创建连接
cnx = mysql.connector.connect(user='username', password='password', host='localhost', database='mydatabase')
# 创建表
cursor = cnx.cursor()
cursor.execute("CREATE TABLE mytable (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)")
```
其中 `mytable` 是要创建的表名,`id` 是自增长的主键,`name` 和 `age` 是表中的字段名和类型。
5. 插入数据
```python
import mysql.connector
# 创建连接
cnx = mysql.connector.connect(user='username', password='password', host='localhost', database='mydatabase')
# 插入数据
cursor = cnx.cursor()
sql = "INSERT INTO mytable (name, age) VALUES (%s, %s)"
val = ("John", 23)
cursor.execute(sql, val)
cnx.commit()
```
其中 `sql` 是要执行的 SQL 语句,`val` 是要插入的数据。
完整代码如下:
```python
import mysql.connector
# 创建连接
cnx = mysql.connector.connect(user='username', password='password', host='localhost')
# 创建数据库
cursor = cnx.cursor()
cursor.execute("CREATE DATABASE mydatabase")
# 创建表
cnx.database = 'mydatabase'
cursor = cnx.cursor()
cursor.execute("CREATE TABLE mytable (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)")
# 插入数据
cursor = cnx.cursor()
sql = "INSERT INTO mytable (name, age) VALUES (%s, %s)"
val = ("John", 23)
cursor.execute(sql, val)
cnx.commit()
cnx.close()
```
注意,执行完毕后需要关闭数据库连接。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)