创建数据表

比方说,我想要在新建的mrsoft数据库里面创建一个表。
表名为: books. 然后为它增加5个字段,分别是: id(主键)、name(图书名称)、category(图书分类)、price(图书合格)、publish_time(出版时间)。
创建books的SQL语句如下:

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;
'''

首先创建表名: CREATE TABLE books。然后上面也说了,需要增加5个字段。
id(主键) 整数类型,长度为8 非空。 主键为: Key(钥匙)
name(图书名称),实际长度类型为50,非空。
category(图书分类),实际长度为50,非空。
price(图书价格),定点数类型,其标准格式是DECIMAL(M,D),其中M为长度,D为小数位数。长度为10,小数位数为2位。默认为空值
publsih_time(出版时间),date为时间,默认为空值。
建好表之后,对主键增加约束: 使用PRIMARY KEY(id) .

ENGINE=MyISAM (默认引擎为MyISAM,其中MyISAM是基于传统的ISAM类型)

AUTO_IMCREMENT=1 (这个是修饰主键primary key,自动增长1.举个简单例子,你的数据库记录有一条记录,departmentid为1,当你添加一条记录时,department自动增加1,新增为2)

DEFAULT CHARSET=utf8 (默认字符集为utf8编码)

mysql数据表中的主键(primary key)有如下几种约束:
1、PRIMARY KEY 约束唯一标识数据库表中的每条记录。
2、主键必须包含唯一的值。
3、主键列不能包含 NULL 值。
4、每个表都应该有一个主键,并且每个表只能有一个主键。

创建表之前可以使用下面语句:
DROP TABLE IF EXISTS ‘books’
如果mrsoft数据库中已经存在对象books.那么先删除books.然后再创建books数据表

具体代码如下:

# 创建数据表
# 引入pymysql数据库
import  pymysql
# 打开数据库链接
db = pymysql.connect('localhost','root','123456','mrsoft')
# 使用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()

运行代码后,mrsoft数据库下就已经创建了一个books表,打开Navicat F5 刷新一下,发现mrsoft数据库下面多了一张books表,右键单击books.选择设计表,如下:
在这里插入图片描述

创建数据表完成


版权声明:本文为AIex_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。