首页 > 学院 > 开发设计 > 正文

sqlalchemy学习(三):创建数据库表格

2019-11-10 19:41:34
字体:
来源:转载
供稿:网友

在创建数据库表格之前,首先请保证数据库已经通过MySQL命令创建完毕。

mysql> create database mydb character set utf8;Query OK, 1 row affected (0.08 sec)

数据库创建好以后,我们需要定义数据库表类型。

from sqlalchemy.dialects.mysql import (INTEGER, CHAR)from sqlalchemy import Column, Table, MetaDatameta = MetaData()users_table = Table('users', meta,    Column('id', INTEGER, PRimary_key=True),    Column('name', CHAR(127)),    Column('passWord', CHAR(127)))

代码第4行定义了一个元数据对象。它包含了与数据库有关的所有的属性。当然,在执行这一句时,数据库元数据对象还是没有任何内容的。

代码第6-10行定义了一个数据库表。在这个方法中:第一个参数‘users’是数据库表的名字;第二个参数,是我们刚刚创建的metadata对象。后面的几个参数分别定义了数据库表的各列。大家一看便知,不再一一介绍。

在执行这个方法时,会把users表的相关属性都添加进metadata对象。

数据库表定义好以后,便可以实行创建了。

from sqlalchemy import create_engineENGINE = create_engine("mysql://root:password@localhost:3306/mydb?charset=utf8",                           convert_unicode=True)users_table.create(bind=ENGINE)上面的代码一目了然,无须介绍。

代码执行完后,可以看到数据库中已经新建了一个名为users表。

mysql> use mydbDatabase changedmysql> show tables;+----------------+| Tables_in_mydb |+----------------+| users          |+----------------+1 row in set (0.00 sec)mysql> desc users;+----------+-----------+------+-----+---------+----------------+| Field    | Type      | Null | Key | Default | Extra          |+----------+-----------+------+-----+---------+----------------+| id       | int(11)   | NO   | PRI | NULL    | auto_increment || name     | char(127) | YES  |     | NULL    |                || password | char(127) | YES  |     | NULL    |                |+----------+-----------+------+-----+---------+----------------+3 rows in set (0.01 sec)


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表