MySQL之创建表并插入数据

本文介绍了如何在MySQL中创建表,包括设置变量类型(如INT、VARCHAR等),以及使用pymysql进行数据操作,包括使用占位符避免SQL注入,并演示了如何导出数据库表到CSV文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >




一、在数据库中创建表

MySQL中table实在已有数据库的基础上创建的,因此在创建表之前要链接相应要操作的数据库,若数据库不存在,则需要先创建数据库。下面是利用SQL执行创建table的操作

代码如下:

import pymysql

conn = pymysql.connect(
    host="localhost",
    user="your_username",
    password="your_password",
    database="your_database"
)

cursor = conn.cursor()

create_table_sql = """
CREATE TABLE IF NOT EXISTS employees (
    employee_id INT AUTO_INCREMENT PRIMARY KEY,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    email VARCHAR(100),
    hire_date DATE
)
"""

cursor.execute(create_table_sql)

conn.commit()

cursor.close()
conn.close()


二、Table的变量类型

##1. 数据类型

1.INT:整数类型,用于存储整数值。可以指定宽度,例如 INT(11),表示整数的显示宽度。

2.VARCHAR:可变长度字符串,用于存储字符串。需要指定最大长度,例如 VARCHAR(255)3.CHAR:固定长度字符串,用于存储字符串。与 VARCHAR 不同,CHAR 会用空格填充字符串以达到指定的长度。

4.TEXT:用于存储大文本数据的字符串类型,通常用于存储较长的文本。

5.DATE:用于存储日期,格式为 'YYYY-MM-DD'6.TIME:用于存储时间,格式为 'HH:MM:SS'7.DATETIME:用于存储日期和时间,格式为 'YYYY-MM-DD HH:MM:SS'8.BOOL 或 BOOLEAN:用于存储布尔值,通常表示真(1)或假(0)。

9.FLOAT 或 DOUBLE:用于存储浮点数,例如 FLOAT(5, 2) 表示总共 5 位,其中 2 位是小数部分。

10.DECIMAL:用于存储固定精度的浮点数,例如 DECIMAL(8, 2) 表示总共 8 位,其中 2 位是小数部分。

2.占位符类型

在 MySQL 中,使用占位符时通常只需要 %s,因为它是通用占位符,可以用于不同的数据类型。
虽然使用 %s 可以适用于大多数数据类型,但在某些情况下,你可能需要使用更复杂的占位符,如 %d(整数)、%f(浮点数)等。不过,为了防止 SQL 注入攻击和确保数据的一致性,最好使用通用的 %s 占位符,并将数据正确地传递给执行语句的方法

这里列举常用的占位符类型

%s:字符串占位符,通常用于插入文本数据。

%d 或 %i:整数占位符,用于插入整数数据。

%f 或 %lf:浮点数占位符,用于插入浮点数数据。

%b:布尔值占位符,通常用于插入布尔类型的数据。

%x:十六进制占位符,用于插入十六进制格式的数据。

%c:字符占位符,用于插入单个字符。

?:通用占位符,具体类型由数据库驱动程序自动识别。

:name:命名占位符,通过名称引用参数。

三、导出数据库中的表

import pymysql
import csv

# 连接到数据库
conn = pymysql.connect(host='your_host', user='your_user', password='your_password', db='your_database')
cursor = conn.cursor()

# 执行查询
query = "SELECT * FROM your_table"
cursor.execute(query)

# 获取查询结果
result = cursor.fetchall()

# 将结果写入 CSV 文件
with open('output.csv', 'w', newline='') as csv_file:
    csv_writer = csv.writer(csv_file)
    csv_writer.writerow([i[0] for i in cursor.description])  # 写入列名
    csv_writer.writerows(result)

# 关闭数据库连接
cursor.close()
conn.close()

总结

以上就是利用pymysql创建表、插入数据、导出表的具体操作。有关SQL语言具体可以参照MYSQL文档进行学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云朵不吃雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值