Python数据库(三)-使用sqlalchemy创建表
首先需要安装sqlalchemy
根据所需情况调用数据库接口,对数据库进行操作
pymysql:
mysql+pymysql://<username>:<password>@<host>/<dbname>[?<options>]
MySQL-Python:
mysql+mysqldb://<user>:<password>@<host>[:<port>]/<dbname>
官方文档:http://docs.sqlalchemy.org/en/latest/dialects/index.html
# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column,String,Integer engine = create_engine("mysql+pymysql://root:root@127.0.0.1/test",encoding="utf-8",echo=True,max_overflow=5)
#连接mysql数据库,echo为是否打印结果 Base = declarative_base() #生成orm基类 class User(Base): #继承生成的orm基类
__tablename__ = "sql_test" #表名
id = Column(Integer,primary_key=True) #设置主键
user_name = Column(String(32))
user_password = Column(String(64)) class Admin(Base):
__tablename__ = "admin"
id = Column(Integer, primary_key=True)
username = Column(String(32))
password = Column(String(64)) Base.metadata.create_all(engine) #创建表结构
#父类Base调用所有继承他的子类来创建表结构
运行

echo设置为True打印了返回的结果
在mysql中查看结果

表也创建成功
如果已经有了同名的表,将不会覆盖创建该表
给表插入数据
# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column,String,Integer
from sqlalchemy.orm import sessionmaker engine = create_engine("mysql+pymysql://root:root@127.0.0.1/test",encoding="utf-8",echo=False,max_overflow=5) Base = declarative_base() class Admin(Base):
__tablename__ = "admin"
id = Column(Integer, primary_key=True)
username = Column(String(32))
password = Column(String(64)) Base.metadata.create_all(engine) Session_Class = sessionmaker(bind=engine) #创建与数据库的会话,Session_Class为一个类 Session = Session_Class() #实例化与数据库的会话 t1 = Admin(username='test',password='123456') #生成admin表要插入的一条数据
t2 = Admin(username='test1',password='abcdef') #生成admin表要插入的一条数据 print(t1.username,t1.password)
print(t2.username,t2.password) Session.add(t1) #把admin表要插入的数据添加到Session里
Session.add(t2) Session.commit() #提交,不然不能创建数据
运行结果

数据也创建成功

Python数据库(三)-使用sqlalchemy创建表的更多相关文章
- flask的orm框架(SQLAlchemy)-创建表
# 转载请留言联系 ORM 是什么? ORM,Object-Relation Mapping.意思就是对象-关系映射.ORM 主要实现模型对象到关系数据库数据的映射. 优点 : 只需要面向对象编程, ...
- SQL语句创建数据库,SQL语句删除数据库,SQL语句创建表,SQL语句删除表,SQL语句添加约束,SQL语句删除约束
创建数据库: CREATE DATABASE Test --要创建的数据库名称 ON PRIMARY ( --数据库文件的具体描述 NAME='Test_data', --主数据文件的逻辑名称 FIL ...
- oarcle数据库导入导出,创建表空间
oracle导入导出(前提,本机已经安装oracle和oracle客户端)导出命令: exp username/password@192.168.1.138/ORCL file=c:\test.dmp ...
- Android数据库高手秘籍(三)——使用LitePal升级表
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/39151617 在上一篇文章中,我们学习了LitePal的基本使用方法,体验了使用框 ...
- SQLAlchemy基本使用,创建表,增删改查
基础语法 创建连接 from sqlalchemy import create_engine # 写法1 engine = create_engine("postgresql://scott ...
- Qt 数据库创建表失败原因之数据库关键字
本人数据库新手,在创建表时出现问题,最后经查证,找出问题所在.下面的程序是部分节选,在创建数据库表的时候,起先使用的L24的CreateDB,经测试,一直输出 Create testResult Fa ...
- Day13 SQLAlchemy连表操作和堡垒机
一.数据库操作 1.创建表.插入数据和一对多查询 #!/usr/bin/env python # -*- coding: utf-8 -*- # Author: wanghuafeng from sq ...
- 数据库之 MySQL --- 数据处理 之 表操作、CRUD(六)
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一. 表操作 创建数据库CREATE DATABASE demo-- 删除数据库DROP DATABAS ...
- Django创建表时报错django.db.utils.InternalError: (1366问题解决记录
问题出现 执行Python manage.py makemigrations生成创建表的py文件 执行python manage.py migrate创建数据表 界面出现报错 问题原因 网上搜索原因, ...
随机推荐
- [cqoi2012]交换棋子
2668: [cqoi2012]交换棋子 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 1334 Solved: 518[Submit][Stat ...
- Python中的exec、eval的区别
通过exec可以执行动态Python代码,类似Javascript的eval功能: 而Python中的eval函数可以计算Python表达式,并返回结果: (exec不返回结果,print(eval( ...
- Linux01
Linux的特点 1.免费的/开源 2.支持多线程./多用户的(这是操作系统性能的重要指标) 3.安全性好 4.对内存和文件管理优越. 1999年,IBM宣布与Redhat公司建立伙伴关系. Linu ...
- jmeter-察看结果树-响应数据,中文显示乱码问题处理
第一步: 打开路径:jmeter\bin\jmeter.properties 文件 第二步: 文件中默认编码为:ISO-8859-1 修改为utf-8 sampleresult.default.enc ...
- 简单实用的磁带转MP3方法图解
读完这篇文章,然后在看看文章的最后部分. [图文]磁带转Mp3教程 来源: 作者:netseeker 一.工具 1.音频线一条. 在一般的电器铺都能买到,8-15元不等,两头的接口是一样的,可以混用 ...
- 三张图较为好理解JavaScript的原型对象与原型链
最近从网上看到别人详细得讲解了js的原型对象和原型链,看完感觉是看得最清晰的一个,于是,摘录到自己博客里 对于新人来说,JavaScript的原型是一个很让人头疼的事情,一来prototype容易与_ ...
- js字符串常用操作
1.字符串分割 var myStr = "I,Love,You,Do,you,love,me"; var substrArray = myStr .split(",&qu ...
- 【Oracle】实现Oracle数据库对象的一键升级
引言 公司内部的项目比较倾向于将业务逻辑放在oracle存储过程中实现,所以每次项目升级都涉及到很多的oracle表,存储过程等数据库对象的升级.然而采取的升级方式是比较"原始&qu ...
- 用js生成rgb颜色
var drawing=document.getElementById("drawing"); drawing.onclick= function () { var x, y, z ...
- nyoj-451-光棍节的快乐(错排公式)
题目链接 /* Name:nyoj-451-光棍节的快乐 Copyright: Author: Date: 2018/4/25 16:44:47 Description:D(n)=(n-1)*(D( ...