文章目录
一、在数据库中创建表
MySQL中table实在已有数据库的基础上创建的,因此在创建表之前要链接相应要操作的数据库,若数据库不存在,则需要先创建数据库。下面是利用SQL执行创建table的操作
代码如下:
import pymysqlconn = 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 pymysqlimport 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文档进行学习
来源地址:https://blog.csdn.net/d8dongdong/article/details/132655685