首先需要安装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创建表的更多相关文章

  1. flask的orm框架(SQLAlchemy)-创建表

    # 转载请留言联系 ORM 是什么? ORM,Object-Relation Mapping.意思就是对象-关系映射.ORM 主要实现模型对象到关系数据库数据的映射. 优点 : 只需要面向对象编程, ...

  2. SQL语句创建数据库,SQL语句删除数据库,SQL语句创建表,SQL语句删除表,SQL语句添加约束,SQL语句删除约束

    创建数据库: CREATE DATABASE Test --要创建的数据库名称 ON PRIMARY ( --数据库文件的具体描述 NAME='Test_data', --主数据文件的逻辑名称 FIL ...

  3. oarcle数据库导入导出,创建表空间

    oracle导入导出(前提,本机已经安装oracle和oracle客户端)导出命令: exp username/password@192.168.1.138/ORCL file=c:\test.dmp ...

  4. Android数据库高手秘籍(三)——使用LitePal升级表

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/39151617 在上一篇文章中,我们学习了LitePal的基本使用方法,体验了使用框 ...

  5. SQLAlchemy基本使用,创建表,增删改查

    基础语法 创建连接 from sqlalchemy import create_engine # 写法1 engine = create_engine("postgresql://scott ...

  6. Qt 数据库创建表失败原因之数据库关键字

    本人数据库新手,在创建表时出现问题,最后经查证,找出问题所在.下面的程序是部分节选,在创建数据库表的时候,起先使用的L24的CreateDB,经测试,一直输出 Create testResult Fa ...

  7. Day13 SQLAlchemy连表操作和堡垒机

    一.数据库操作 1.创建表.插入数据和一对多查询 #!/usr/bin/env python # -*- coding: utf-8 -*- # Author: wanghuafeng from sq ...

  8. 数据库之 MySQL --- 数据处理 之 表操作、CRUD(六)

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一. 表操作 创建数据库CREATE DATABASE demo-- 删除数据库DROP DATABAS ...

  9. Django创建表时报错django.db.utils.InternalError: (1366问题解决记录

    问题出现 执行Python manage.py makemigrations生成创建表的py文件 执行python manage.py migrate创建数据表 界面出现报错 问题原因 网上搜索原因, ...

随机推荐

  1. 监控pbs运行状况

    # 监控内存使用情况 job_id=163997workdir=/share_bio/echo "population_sizes" >> $workdir/pbs/p ...

  2. linux基础(1)-yum源配置

    用linux将近一年了,开始学的东西因为没经常用都忘记了,现在将笔记的东西慢慢整理成自己的博客,也算是看着自己进步.有些东西从他人博客笔记学的,有些是从视频学的,有些是自己填坑积累的. 在linux下 ...

  3. python爬虫-url

    特此声明: 以下内容来源于博主:http://blog.csdn.net/pleasecallmewhy                                     http://cuiq ...

  4. WINSOCK 传送文件

    SERVER: // send_server.cpp : Defines the entry point for the console application. // #include " ...

  5. Overlay网络与物理网络的关系

    编者按:无论是云计算还是SDN都把注意力集中在数据中心网络的建设上,各种解决方案层出不穷,其中以VMware为代表的软件厂商提出Overlay网络方案后,为数据中心网络的发展提出了新的思路.那么Ove ...

  6. c++中的函数对象

    头文件wuyong.h: #pragma once #include<iostream> using namespace std; template<typename T> s ...

  7. CSS基础(float属性与清除浮动)

    3.8 这是CSS里比较重要的属性:浮动,这个属性会在以后经常用到,算是一个重点吧 浮动 语法:float:left  |  right  |  none 特点: 浮动的元素不占位置,脱离了标准文档流 ...

  8. 解决CentOS 6环境时区、日期、时间同步方法

    有些时候我们在选择的VPS服务商提供的VPS主机方案安装系统.安装建站环境之后就直接上马网站,但是我们会有发现发布的文章或者有些时候设置的自动执行脚本时间与我们实际的时间不符合.甚至有些程序是需要与本 ...

  9. 触摸控(触摸与移动 Touch & Mobility)的官方教程

    http://blogs.msdn.com/b/linanw/archive/2010/05/02/windows-1-wpf-4.aspx

  10. Generator函数介绍

    Generator函数 基本概念 英文意思为 "生成器". generator函数是es6提供的一种异步编程解决方案,语法行为与传统函数完全不同.从状态上,首先我们把他理解成一种状 ...