• 数据库


    关系型数据库:Oracle , SQL Server ,DB2,MySQL.

    非关系型数据库:Nosql ,MongoDB,Redis.

    一、关系型数据库

    关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。

    优点:

    1. 易于维护:都是使用表结构,格式一致;
    2. 使用方便:SQL语言通用,可用于复杂查询;
    3. 复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。

    缺点:

    1. 读写性能比较差,尤其是海量数据的高效率读写;
    2. 固定的表结构,灵活度稍欠;
    3. 高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈

    二、非关系型数据库

    非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。

    优点:

    1. 格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
    2. 速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
    3. 高扩展性;
    4. 成本低:nosql数据库部署简单,基本都是开源软件。

    缺点:

    1. 不提供sql支持,学习和使用成本较高;
    2. 无事务处理;
    3. 数据结构相对复杂,复杂查询方面稍欠。

    安装数据库中,命令窗口中的 mysql -u root -p   -u表示的是用户名。默认为root。 -p是输入密码。

    mysql的数据存储结构:

            先数据库,在表,再有数据。

    SQL语句:

          作用:管理数据库,管理表,管理结构。

          SQL(Structured Query Language,结构化查询语言)语言:和数据库交互的语言,进行数据管理的语言。

          查询所有数据库:show databases;

          

          +--------------------+

          | Database           |

          +--------------------+

          | information_schema |     -- mysql元数据,基础数据(不可删除)

          | mysql              |    --mysql配置数据库,其中包含用户信息。(用户名和密码,权限管理)(不可删除)

    | performance_schema |    --mysql数据库软件的运行数据,日志信息,性能数据(不可删除)  日志信息指的是:操作所引起的问题。

    | test               |     --测试数据库。空的(可随意修改)。

    +--------------------+

    4 rows in set (0.00 sec)

    创建数据库:

        create database db_name  (db -name指的是创建的数据库的名字)

           [DEFAULT] CHARACTER SET charset_name  -- CHARACTER SET:指定数据库采用的字符集

           [DEFAULT] COLLATE collation_name  --COLLATE:指定数据库字符集的比较方式(校对规则) 

        凡是用[ ]括起来的可以写也可以不写。

         create database 数据库名  character set utf8:指的是创建含有中文的数据库。create database 数据库名:指的是创建拉丁文的数据库。

         查询当前的数据库:show  create database 数据库名。

         删除数据库语句:drop database 数据库名。

         修改数据库字符集:alter database 数据库名 character set gbk;

    gbk与utf-8:

              1. GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准)。GBK编码专门用来解决中文编码的,是双字节的。不论中英文都是双字节的。 2. UTF-8 编码是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8 节省空间。另外,如果是外国人访问你的GBK网页,需要下载中文语言包支持。访问UTF-8编码的网页则不出现这问题。可以直接访问。 3. GBK包含全部中文字符; UTF-8则包含全世界所有国家需要用到的字符。

    表管理:

        查询所有表语句: show tables;

        创建表:首先要 use 数据库名;

            create table 表的名字(

                      指定列名  指定列类型,

                      指定列名   指定列类型,

                      指定列名   指定列类型,

                      );

            数值类型常用的有:int 整数型   float 浮点型 char()固定长度字符串   varchar()  可变长度字符串   date 日期(年月日)  datetime(年月日时分秒)。

            查看表结构:desc 表的名字。

            删除表:drop table 表的名字。

            添加字段:alter table 表的名字 add column 指定列名 指定列类型;

            删除字段:alter table 表的名字 drop column 指定列名;

            修改字段类型:alter table 表的名字  modify  column 指定列名 修改的指定列类型;

            修改字段名称:alter table 表的名字 change column  原先的指定列名  修改的指定列名  指定列类型(也可以是要修改的指定列类型);

            修改表的名称:alter table 原先的表的名字   rename  to  要修改的表的名字。

      增加数据:insert into 表的名字 values();

          插入所有数据,一定要按顺序插入,既不能少也不能多字段值。

          插入部分数据,语法:insert into 表的名字(指定列名1,指定列名2,指定列名3)values(数据1,数据2,数据3)

      修改数据:

          update 表的名字 set 要修改的列名="要修改的内容"  where 指定的作为条件列的名字="内容"。如果要修改多个内容可以,update 表的名字 set 要修改的列名1="要修改的内容1"  ,要修改的列名2="要修改的内容2",要修改的列名3="要修改的内容3"  where 指定的作为条件列的名字="内容"

      删除数据:

          delete  from 表的名字  where 列的名字="列的内容" 这是带条件的删除

          delete from 表的名字 表示的清空表,他所表示的是清空表的内容。而不是删除表,要注意与drop table(删除表)区分开。

          truncate table 表的名字 同样表示清空表。

          delete from 与truncate table 的区别:前者可以带条件删除,只能删除表的内容,不能删除表的约束。同时删除的数据可以回滚事务。(就是说可以进回收站)。后者与之相反。

          

  • 相关阅读:
    《C#从现象到本质》读书笔记(八)第10章反射
    《C#从现象到本质》读书笔记(七)第9章 泛型
    《C#从现象到本质》读书笔记(六)第8章委托和事件
    《C#从现象到本质》读书笔记(五)第5章字符串第6章垃圾回收第7章异常与异常处理
    求1+2+……+n的和
    回溯法的应用举例
    回溯法
    翻转单词顺序列
    左旋转字符串
    和为S的两个数字
  • 原文地址:https://www.cnblogs.com/maxuefeng/p/13631319.html
Copyright © 2020-2023  润新知