zoukankan      html  css  js  c++  java
  • MySQL学习笔记:基础应用总结

    一、什么是数据库?

      1、数据库是按照数据结构来组织、存储和管理数据的仓库。每个数据库都提供API用于创建、访问、管理、搜索和复制所保存的数据。

      2、数据库的数据表之间有关联关系,我们称为关系型数据库,常见的关系型数据库有:Mysql,Sqlserver,Oracle等,Mysql是开源的,也是重点要掌握的。

      3、一些基本术语:主键,外键,复合键,索引,参照完整性,冗余(为了避免频繁多表查询,而在一张表中添加的在别的表中已经存在的列)等。

    二、数据库按照,参考这个文章:

      https://blog.csdn.net/bobo553443/article/details/81383194

    三、查询,试一下

      1、inner join 内连接,求完全相等的集合  

      2、left join 左连接,以左表为准的集合

      3、right join 右连接,以右表为准的集合

      4、left join unite right join  左右连接,左右表的并集

    四、数据类型

    五、创建表

    六、增删改查语句

    七、外键关联和联表查询

    八、事务:

      1、定义:将多个步骤做捆绑的统一的处理,或者同时操作,或者同时不操作,就叫事务

      2、只有使用InnoDB数据库引擎才支持事务

      3、事务的四个特性:

        > 原子性:同时操作,或者同时操作,或者同时不操作

        > 稳定性:遇到约束比如外键则全部退回。

        > 隔离性:事务独立运行,一个事务的处理结果影响其他事务那么其他事务会撤回。事务100%隔离需要牺牲速度。

        > 可靠性:软硬件奔溃后,InnoDB会利用日志文件重构修改。可靠性和效率不可以兼得。

    九、索引:

      1、定义:让数据表的检索速度变得更快,主键只有一个,但是可以对多个字段做索引。

      2、注意:

        > 索引其实也是一张表,如果只建立的索引,没有使用,那么索引依然没有发挥作用,比如你将身份证号和姓名做了索引,但是查询的时候仅查询居住地址,那么还是依然采用效率很低的遍历方式。

        > 索引会降低数据库整体速度,比如你在insert,update,delete一个索引列的原值时,mysql会同时更新索引表中的数据使其重新排序,那么如果操作的频繁了就会降低数据库整体速度。

        > 创建唯一索引,索引的值必须是唯一的,主键就是唯一索引,联合索引也是要确保多个字段的组合是唯一的

    十、通过python操作数据库

      1、安装pymysql组件:可以在pycharm中直接安装

      2、操作的代码如下:

    import pymysql
    con = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="xxx", db="tangwei")
    try:
        # 创建游标
        cursor = con.cursor()
        # 执行sql,并返回影响的行数,execute执行一行SQL语句
        # effect_row = cursor.execute("UPDATE `tangwei`.`user` SET `name` = 'tangwei12' WHERE (`id` = '1');")
    
        # 多行提交,update和delete操作也是同理
        effect_row = cursor.executemany("insert into user(name,sex) values (%s,%s)", [('name5', 'W'), ('name6', 'N')])
        # 默认是打开事务的,所以最后都要提交下,不然是不会插入成功
        con.commit()
    
        effect_row = cursor.execute("select * from user")
    
        # 查询的代码
        print(effect_row)
        for i in range(effect_row):
            print(cursor.fetchone())
    finally:
        con.close()
  • 相关阅读:
    Linux命令行和Shell高效率使用方法
    PHP导出word,CVS,PDF
    PHP的CLI综合
    [PHP]算法-二叉树中和为某一值的路径的PHP实现
    [PHP]算法- 判断是否为二叉搜索树的后序遍历序列的PHP实现
    [PHP]算法- 二叉树的深度的PHP实现
    [PHP] 算法-镜像二叉树的PHP实现
    [PHP] 算法-二叉树的子结构判断的PHP实现
    [PHP] 算法-邻接矩阵图的广度和深度优先遍历的PHP实现
    [PHP] 算法-根据前序和中序遍历结果重建二叉树的PHP实现
  • 原文地址:https://www.cnblogs.com/tangwei-fuzhou/p/12973759.html
Copyright © 2011-2022 走看看