美文网首页
mysql 数据库总结

mysql 数据库总结

作者: 记录每一次BUG | 来源:发表于2018-06-06 11:23 被阅读0次

1:Python2------>Python3

MySQLdb -------> PyMySQL (MySQLdb驱动从2014年1月停止了维护)

2:安装

https://pypi.python.org/pypi/PyMySQL

https://github.com/PyMySQL/PyMySQL

或者使用 pip install PyMySQL 命令

pip show PyMySQL 查看PyMySQL是否安装成功

3:python 与 mysql 交互

        import pymysql.cursors

        # 连接MySQL数据库

        connection = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='198876', db='guest',

        charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)

        # 通过cursor创建游标

        cursor = connection.cursor()

        # 创建sql 语句,并执行

        sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"

        params = ['gdsf', '215323']

        count = cursor.execute(sql, params)

        result = cursor.fetchone()  #读取查询结果的一条数据,result是一个(元祖),查询机为空集的话result = None

        result1 = cursor.fetchall() # 返回多个元组,即返回多个记录((),()),如果没有结果 则返回 ()

        # 提交SQL

        cursor.close()    # 关闭游标

        connection.commit()

4:数据库增删改查

查询:select * from 表名;

插入:insert into 表名 values(...),(...)...;

修改:update 表名 set 列1=值1,列2=值2... where 条件

删除:delete from 表名 where 条件

5:数据库操作命令:

show databases;      use 数据库名;     select database();     create database 数据库名 charset=utf8;   drop database 数据库名;

6:数据表操作:

查看当前数据库中所有表:show tables;           查看表结构:desc 表名;

创建表:create table 表名(列 类型 约束,...);

修改表-添加字段:alter table 表名 add 列名 类型约束;

修改表-修改字段:(重命名版)alter table 表名 change 原名 新名 类型及约束;

修改表-修改字段:(不重命名版)alter table 表名 modify 列名 类型及约束;

修改表-删除字段:alter table 表名 drop 列名;

删除表:drop table 表名;

查看表的创建语句: show create table 表名;

数据库备份:mysqldump –uroot –p 数据库名 > python.sql;

数据库恢复:mysql -uroot –p 数据库名 < python.sql

数据库查询:

(1)消除重复行:select distinct gender from students;

(2)比较运算符: =    >    >=   <   <=   !=   <>

(3)逻辑运算符: and  or  not

(4)模糊查询: like   % 表示任意多个任意字符  _表示一个任意字符

(5)范围查询: in 非连续范围   between 。。。 and。。。 表示连续区间

(6)空判断 : 判空:is null   判非空: is  not  null

(7) 优先级:优先级由高到低的顺序为:小括号,not,比较运算符,逻辑运算符;and比or先运算,如果同时出现并希望先算or,需要结合()使用

(8)聚合函数:count(*)表示计算总行数,括号中写星与列名,结果是相同的;max(列)表示求此列的最大值;min(列)表示求此列的最小值;sum(列)表示求此列的和;avg(列)表示求此列的平均值

(9)按照字段分组,表示此字段相同的数据会被放到一个组中;分组后,分组的依据列会显示在结果集中,其他列不会显示在结果集中;可以对分组后的数据进行统计,做聚合运算select gender as 性别, count(*) from students  group by gender;

(10)分组后筛选:having后面的条件运算符与where的相同;where是对from后面指定的表进行数据筛选,属于对原始数据的筛选;having是对group by的结果进行筛选

(11)排序:将行数据按照列1进行排序,如果某些行列1的值相同时,则按照列2排序,以此类推;默认按照列值从小到大排列;asc从小到大排列,即升序;desc从大到小排序,即降序、

(12)获取部分行:limit start,count      从start开始,获取count条数据;start索引从0开始

(13)分页:每页显示m条数据,当前显示第n页;求总页数:此段逻辑后面会在python中实现;查询总条数p1;使用p1除以m得到p2;如果整除则p2为总数页;如果不整除则p2+1为总页数;求第n页的数据

(14)inner  join  on

(15)子查询:查询学生与班级对应的信息select * from  (select stu.*,cls.name as clsname from students as stu  inner join classes as cls on stu.clsid=cls.id)  as t1;

(16)总结:from 表名 ;where ....;group by ...;select distinct *;having ...;order by ..;.limit start,count

(17)创建账户并且授权:grant 权限列表 on 数据库 to '用户名'@'访问主机' identified by '密码';

(18)使用root登录: mysql -uroot -p

相关文章

  • MySQL(Mariadb)总结 - 目录

    关系型数据库基础概览Mysql(Mariadb)总结1 - 基础知识MySQL(Mariadb)总结2 - SQL...

  • 数据库总结

    以下是我对所学的数据库的总结,希望能对你有帮助 mysql -u root -p 开启MYSQL 数据库 1. ...

  • mysql主从配置

    推荐视频MySQL 从属数据库配置 推荐文章MySQL主从配置详解 相关阅读mysql官网文档总结-权限管理 my...

  • 2018-07-20小白的Mysql学习

    一、mysql语句总结 #创建数据库 create database dbname; #使用某一数据库 use d...

  • mysql的两种引擎

    MySQL两种存储引擎: MyISAM和InnoDB 简单总结 MyISAM是MySQL的默认数据库引擎(5.5版...

  • mysql基础

    mysql添加外键的4种方式 MySQL基础考点1 MySQL基础考点2 MySQL数据库六大设计规范总结1 My...

  • CentOS下mysql数据库常用命

    mysql数据库使用总结 本文主要记录一些mysql日常使用的命令,供以后查询。 1.更改root密码 mysql...

  • MySQL学习思维导图

    最近把数据库MySQL给复习总结了,把常用的一些知识总结成为了思维导图的形式,方便后面的复习和总结:1、MySQL...

  • 数据库常用知识总结

    数据库常用知识总结 查看当前mysql中所有的数据库命令:show databases; 使用某个数据库(如:zh...

  • MySQL 同步复制及高可用方案总结

    MySQL 同步复制及高可用方案总结 1.前言 mysql作为应用程序的数据存储服务,要实现mysql数据库的高可...

网友评论

      本文标题:mysql 数据库总结

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