创建数据表
<p>创建MySQL数据表</p>
<p>1、案例:
使用execute()方法为数据库创建数据表books(图书表)、books表包含id(主键)、name(图书名称)、category(图书分类)、price(图书价格)、publish_tinme(出版时间)5个字段。</p>
<p>2、创建books表的SQL语句如下:</p>
<pre><code>CREATE TABLE books (
id int(8) NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL,
category varchar(50) NOT NULL,
price decimal(10,2) DEFAULT NULL,
publish_time date DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;</code></pre>
<p>3、在创建数据表之前,使用如下语句判断boos表是否已存在,如果已存在就先删掉再创建,完整代码如下:</p>
<pre><code>import pymysql
# 打开数据库连接
db = pymysql.connect("localhost", "root", "root", "studypython")
# 使用cursor()方法创建一个游标对象cursor
cursor = db.cursor()
# 使用execute()方法执行SQL,如果表存在则删除
cursor.execute("DROP TABLE IF EXISTS books")
# 使用预处理语句创建表
sql = """
CREATE TABLE books (
id int(8) NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL,
category varchar(50) NOT NULL,
price decimal(10,2) DEFAULT NULL,
publish_time date DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
"""
# 执行SQL语句
cursor.execute(sql)
# 关闭数据库连接
db.close()</code></pre>
<p>4、运行上面代码后,studypython数据库下已经有了一个books表。打开Navucat(F5刷新),发现有books表生成,"books"右击-选择"设计表",效果如图所示:
<img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/3e83e1b021355ded3726bb631e9cddf0?showdoc=.jpg" alt="" /></p>
<p>创建SQLite数据表</p>
<p>1、创建数据库文件</p>
<pre><code>(1)说明:
1、SQLite是一种嵌入式的数据库,就是一个文件。将整个数据库,包括定义、表、索引以及数据本身,作为一个单独的可跨平台使用的文件存储在主机中。
2、由于python中已经内置了SQLite3,所以可以直接使用import语句SQLite3模式。
3、如下代码中,如果数据库文件mrsoft.db不存在,则会创建该文件(该文件包含了user表相关信息),再次执行则会报错,因为user表已经存在。
(2)案例
import sqlite3
# 连接到SQLite数据库
# 数据库文件是mrsoft.db,如果文件不存在,会自动在当前目录创建
conn = sqlite3.connect('mrsoft.db')
# 创建一个Cursor
cursor = conn.cursor()
# 执行一条SQL语句,创建user表
cursor.execute('create table user (id int(10) primary key, name varchar(20))')
# 关闭游标
cursor.close()
# 关闭Connection
conn.close()</code></pre>
<p>2、操作SQLite</p>
<pre><code>增删改查操作,详见数据库篇</code></pre>