美文网首页
Python数据库操作

Python数据库操作

作者: ququququ | 来源:发表于2019-01-30 16:06 被阅读0次

    一、数据库基础知识

    1.名词缩写

    DB(Data Base)数据库

    DBMS(Data Base Management System)数据库管理系统

    DBS(Data Base System)数据库系统

    DBA(Data Base Administrator)数据库管理员

    SQL(Structured Query Language)结构化查询语言

    Primary Key 主键

    Foreign Key 外键

    Entity 实体

    SQL语言的动词

    SQL功能 动词
    数据查询 SELECT
    数据定义 CREATE、DROP、ALTER
    数据操纵 INSERT 、UPDATE 、DELETE
    数据控制 GRANT、REVOKE

    SQL的数据定义语句

    操纵对象 创建 删除 修改
    CREATE TABLE DROP TABLE ALERT TABLE
    视图 CREATE VIEW DROP VIEW
    索引 CREATE INDEX DROP INDEX
    数据库 CREATE DATABASE DROP DATABASE ALERT DATABASE

    2.SQL中的运算符

    1.算数运算

    +、-、*、/、%

    2.赋值运算

    =

    3.比较运算

    =、>、<、<>(不等于)、>=、<=

    4.逻辑运算

    AND、OR、NOT

    3.SQL支持的数据类型

    常用数值类型

    数据类型 字节数
    TINYINT[(M)] 1字节
    SMALLINT[(M)] 2字节
    MEDIUMINT[(M)] 3字节
    INT[(M)] 4字节
    FLOAT[(M,D)] 4字节

    注意:上表中M表示显示宽度,也就是最多能够显示的数字个数,与该类型的取值范围无关。若数据位数大于显示宽度,只要不超过该类型取值范围,则以实际位数显示;反之数据位数如果小于指定宽度,则以空格填充。

    字符串类型

    数据类型 字节
    CHAR [(M)] M字节
    VARCHAR[(M)] 可变长度
    TINYTEXT 0~255
    TEXT 0~65535

    二、第三方库

    数据库操作第三方库pymysql

    pymysql.Connect()参数说明
    host(str):      MySQL服务器地址
    port(int):      MySQL服务器端口号
    user(str):      用户名
    passwd(str):    密码
    db(str):        数据库名称
    charset(str):   连接编码
    
    connection对象支持的方法
    cursor()        使用该连接创建并返回游标
    commit()        提交当前事务
    rollback()      回滚当前事务
    close()         关闭连接
    
    cursor对象支持的方法
    execute(op)     执行一个数据库的查询命令
    fetchone()      取得结果集的下一行
    fetchmany(size) 获取结果集的下几行
    fetchall()      获取结果集中的所有行
    rowcount()      返回数据条数或影响行数
    close()         关闭游标对象
    

    在MySQL创建一个表

    CREATE TABLE `users` (
        `id` INT(11) NOT NULL AUTO_INCREMENT,
        `email` VARCHAR(255) COLLATE utf8_bin NOT NULL,
        `password` VARCHAR(255) COLLATE utf8_bin NOT NULL,
        PRIMARY KEY (`id`)
    ) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
    AUTO_INCREMENT=1 ;
    

    使用Python脚本实现增删改查和事务处理,源码如下:

    # 插入数据
    sql = "insert into users (email,password) values ( '%s', '%s')" % ('example@email.com', 'password')
    cursor.execute(sql)
    db.commit()
    
    # 更新数据
    sql = "update users set email='%s'  where id = '%s'" % ('example_update@email.com', '1')
    cursor.execute(sql)
    db.commit()
    
    # 查询数据
    sql = "select email,password from users where id = '%s'" % '1'
    cursor.execute(sql)
    db.commit()
    for row in cursor.fetchall():
        print("email:%s\t password:%s" % row)
    print('共查出',cursor.rowcount,'条数据')
    
    # 删除数据
    sql = "delete  from users where id = '%s'" % '1'
    cursor.execute(sql)
    db.commit()
    
    
    # 打印整个表格
    cursor.execute('select * from users')
    for row in cursor.fetchall():
        print(row)
    print("共%d条数据。"%cursor.rowcount)
    

    相关文章

      网友评论

          本文标题:Python数据库操作

          本文链接:https://www.haomeiwen.com/subject/whjcsqtx.html