码迷,mamicode.com
首页 > 数据库 > 详细

Python-数据库(编程)

时间:2018-11-07 23:11:18      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:ica   --   应该   查询语句   增删改   img   comm   memcached   计算   

1、数据库概念

  数据库:按照数据结构来组织,存储,管理数据的仓库

  按照数据模型分类:网状数据库,层次数据库,关系型数据库。

  层次数据库:

    以树形结构表示实体及其之间的联系,关系只能支持一对多。(IBM 的 IMS)

2、去IOE

  IT架构中,去掉IBM 的小型机,Oracle数据库, EMC存储设备,取而代之使用自己在开源软件基础上开发的系统。

  去IOE 转而使用廉价的架构,稳定性一定下降,需要较高的运维水平解决。

3、NoSQL

  NoSQL是对非SQL,非传统关系型数据库的统称。

  NoSQL:非关系型,非分布式,不提供ACID 的数据库设计模式。

  目前常用的数据库:

    技术分享图片

    redis:内存数据库,键值存储,v 可以是任何类型
    memcached:一般用来session同步,k-v的v只能是string
    MongoDB:文档数据库,非内存的

    处理大数据:
      cassandra:列存储数据库,不限制列数,可以根据具体情况增加列数
      HBase:列数据库

    搜索引擎:
      Elasticsearch: 倒排索引(反过来查),索引库
      Solr:大数据上使用

    HIve:大数据中的,类似于数据仓库,已经开始属于NoSQL领域
      支持SQL,所以可以认为是关系型

    SQL:大数据领域的唯一语言
    非传统的 关系型数据库,统称为NoSQL

4、MySQL

  MySQL 是一种关系型数据库管理软件,支持网络访问,默认服务端口 3306

  MySQL 通信使用mysql协议

  SQL语句:

    SQL是结构化查询语言,Structured Query Language 1987被ISO 组织标准化

    所谓主流的关系型数据库都支持SQL, NoSQL也有很大一部分支持SQL

    SQL语句分为
      DDL 数据定义语言:复制数据库定义,数据库对象定义,由CREATE,ALTER与DROP三个语法组成

      DML 数据操作语言,负责对数据库对象的操作,CRUD增删改查

      DCL 数据控制语言:负责数据库权限访问控制,由GRANT 和REVOKE 两个指令组成

      TCL 事务控制语言:负责处理ACID 事务,支持commit, rollback指令

    SQL语句 不区分大小写

    SQL语句末尾应该使用分号结束

5、约束:

  primary key :主键,一般表中的一个字段或者多个字段设置为主键,或者联合主键,主键的列不能包含空值null,主键一般是整形,长整形,且自动增长,一般表中都有主键

  unique key :唯一键,可以为空,但是不为空的不可重复。

  约束 Constraint

    定义了主键,就有主键约束

    定义了唯一键约束,就有唯一键约束

    外键约束:

      外键:在表B 中的列,关联表A 中的主键 ,表B中的列就是外键

      A表称为主表,B表称为从表

      插入规则:

        不要定义

        如果在表B中插入一条数据,B的外键列插入了一个值,这个值必须是表A中存在的主键值

        更新规则:

        定义外键约束时指定该规则

        删除规则:

        定义外键约束时指定该规则:

        外键约束的操作:

        CASCADE:从父表删除或更新会自动删除或更新字表中匹配的行。

        SET NULL :从父表删除或更新行,会设置子表中的外键列为NULL,但必须保证子表列没有指定NOT NULL,

        RESTRIC:如果从父表删除主键,如果子表引用了,则拒绝对父表的删除或更新操作

        NO ACTION:标准SQL的关键字,在MySQL中与RESTRIC相同,拒绝对父表的删除或更新操作。

        外键约束,是为了保证数据完整性,一致性,杜绝数据冗余,数据讹误

6、视图:    

  视图,也称为虚表,查询语句生成的,可以通过视图进程CRUD操作

  视图的作用:

    简化操作,将复杂查询SQL语句定义为视图,可以简化查询

    数据安全,视图可以只显示真实表的部分列,或计算后的结果,从而隐藏真实表的数据 

7、数据类型:

  技术分享图片

  

  LENGTH函数返回字节数,

  char 可以将字符串变成等长,这样每个偏移量是一样的,空间换时间,效率极高varchar变长。

  

8、关系操作:

  关系:在关系数据库中,关系就是二维表

  关系操作就是对表的操作

  选择:又称为限制,是从关系中选择出满足给定条件的元组

  投影:在关系投影就是从选择出若干属性列组成新的关系

  连接(join):将不同的两个关系连接成一个关系

9、DML---CRUD增删改查

  INSERT INTO log (id,name, logname, password) VALUES(1,‘jack‘, ‘jakc‘, ‘kacl‘) ON DUPLICATE KEY UPDATE name=‘lucy‘;

  如果主键,唯一键冲突,就执行update后面的设置。

  INSERT IGNORE INTO log (id) VALUE(1);

  如果主键,唯一键冲突,就忽略

 

Python-数据库(编程)

标签:ica   --   应该   查询语句   增删改   img   comm   memcached   计算   

原文地址:https://www.cnblogs.com/JerryZao/p/9926146.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!