• mysql基础知识


    数据的实体 管理数据的方式和方法

    数据库的技术构成


    数据的存储技术

    裸数据: 
    数据库自己提供的文件管理系统
    工作于存储级,使用块I/O操作或者scsi协议
    软件开销低
    文件系统:
    可用性和恢复性高
    适用于更大型的数据存储,例如分布式存储
    存储引擎
    存储机制
    索引的方式

    数据的操作技术
    SQL语言
    数据定义语言 (DDL): DROP CREATE ALTER
    数据操作语言(DML): INSERT UPDATE DELETE
    数据查询语言(DQL) : SELECT
    数据控制语言(DCL):GRANT REVOKE COMMIT
    数据库的管理系统:
    用户管理
    处理数据库连接
    缓存
    查询
    日志

    数据库的接口
    用于不同的程序设计语言连接和管理数据的访问接口
    ODBC
    JDBC
    PDO
    ADO.NET

    关系型数据库 : 一种表结构
    非关系型数据库: 数据结构化的存储格式

    mysql的不同的版本的文件格式是不同的
    数据库的库名和表名是区分大小写的。
    mysql的逻辑架构
            
                  服务层 : 线程缓存池
                  核心层 
                  存储引擎层
     
    mysql的执行方式
        1.串行执行方式
              单线程执行
        2. 交叉并发执行
              多个事物交叉执行
               利用事物的等待时间执行多个任务
        3.同时并发执行
              多个处理器系统使用
              每个处理器处理一个事物
        并发执行导致的问题
                  并发执行面临同读同写的问题,破坏事物的隔离性和数据的不一致
                      导致的数据不一致
                                 1.丢失修改
                                 2.不可重复读
                                 3. 读取脏数据
     
    并发控制
     
    利用锁来解决上述的问题:
                  锁将多个事物进行了隔离,加了锁之后,其他的时候不可以获得数据。
    基本锁的类型:
              读锁:
                       共享锁:当事物1对数据加了读锁之后其他的事物只能对数据进行读数据,直到事物1释放了锁
                写锁: 
                       排他锁:  当事物1对事物加了写锁之后,其他的事物不可以读写数据
        悲观锁和乐观锁
                  本质上是对锁的一种看待的角度
                       悲观锁 : 在整个的数据处理的过程中,将数据处于锁定的状态
                       乐观锁:  相对于悲观锁,乐观锁认为数据在一般的情况之下不会造成冲突,所有在数据的处理的过程中,只有在数据提交更新的时候才会正式的对数据的冲突进行检测,如果发现冲突了之后,就返回错误的信息,让用户决定应该如何去做。
    mysql的数据类型
              整数类型
             
    存储带小数的类型:
              浮点数和定点数
                  定点数: DECIMAL
     
    日期和时间的类型:YEAR TIME  DATE DATETIME  TIMESTMP
     
    char 固定的长度
    varchar 可变的长度
    TEXT 数据类型用来存储比较长的非二进制数据字符串
    ENUM 枚举类型
    SET 集合
    二进制数据类型 : 存储二进制数据类型  以 bytes 为单位进行存储 以bytes 为单位比较
     
    msyql 数据库操作
              创建一个数据库   : create database lh;
               创建的过程中指定数据库的编码格式:    create database lh character set utf8;
               查看数据库创建时的命令    : show create database lh;
                删除一个数据库   : drop   database lh;
      mysql的表操作:
              数据库表的范式:
                  第一范式: 数据库中的字段都是单一属性的,不可再分。这个单一范式由基本类型构成的。数据的属性要分到不可再分为止,
                   第二范式: 数据库中的数据是不会相互影响的,减少数据的冗余
                    第三范式: 通过数据之间的关系设置主键来方便的查询
                创建一个数据表:
                  CREATE TABLE 表名(
    列表名1 ,数据类型【约束】【默认值】,
    列表名2,数据类型 【约束】 【默认值】
    ) [ENGINE =存储引擎] [CHARACTER SET = 字符集];
    查看所有的表: show tables;
    查看表的详细的信息: desc 表名;
    查看制定表的详细的信息; show create table 表名/G;
    删除数据表: DROP TABLE IF EXISTS 表名;   其中的if exists 可选,如果表不存在,就不执行任何的操作。
     
    数据库的约束:
             主键约束: 使用primary key 设置主键    设置了主键之后这个属性就不能再重复
               外键约束
                  外键搭配主键使用,若不为空值,则每一个外键值必须等于另一个表中主键的某个值,
                   外键数据类型必须和主键的一致。
    自增长;
              CREATE TABLE T1 (uid primary key auto_increment)
     
     
    修改一个表的名字:  ALTER TABLE 表名 RENAME 修改后的表名
     
    修改字段的数据类型: alter table 表名  modify 字段名  数据类型
                                              
    修改字段名 alter table 表名  change 旧字段名  新字段名  新数据类型
     
    在当前的表中添加一个新的字段: ALTER TABLE  表名 ADD 新的字段名  数据类型;
    在当前的数据表中删除一个字段: ALTER TABLE 表名   DROP 字段名;
    修改字段的排列的位置 : ALTER TABLE 表名 MODIFY 字段名 数据类型 FIRST|AFTER 字段名
    更改表的数据引擎; ALTER TABLE 表名 ENGINE= 新的数据引擎
    删除表的外键的约束  ALTER TABLE 表名 DROP FOREIGN KEY 外键名;       删除了所有的外键之后才能删除对应的主键所在的表
    向数据表中插入单行数据: INSERT INTO 表名 SET 属性 数据类型,。。。;
    向数据表中插入多行的语句: INSERT INTO 表名  
                                                                                       (指定要插入的各种属性) 
                                                                                          VALUES
                                                                                       (每个属性分别对应的数据),
                                                                                             .........;
     
     
    向一个表中插入另一个表中的数据:     INSERT INTO t2 (id,name,sex) SELECT id,name,sex FROM t1;
    更新数据: 
                  UPDATE t1 SET 
                                                属性=数据,...
                                                WHERE condition;
     
    删除数据:  
                  DELETE FROM table_name 
                                           .........
                                          WHERE condition;
     
     
    一个事务:
                  begain 开始一个数据    rollback 回滚这个事务    commit  提交一个事务
     
     
    索引:
              索引是帮助Mysql高效获取数据结构的数据结构
     
     
     
     
    创建索引:
        创建一个普通的索引
        create table t1(
    id ,int primary key,
    name varchar(10),
    index(name));  这里指定name为索引。
    创建一个唯一的索引;
    create table t2(
    id int,
    name varchar(10),
    unique index idInx (id));
     
     
    修改索引:
         添加一个索引          alter table t1 add index nameindex (name);
         删除一个索引:       alter table t2 drop index nameindex:
         添加一个索引: create index  ididx on t1(id);
         删除一个索引: drop index ididex on t1;
     
     -------------------------------------- -------------------------------------更新与2015/12/06---------------------------------------------------------------------------
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    第十周进度条
    冲刺阶段第十天
    冲刺阶段第九天
    冲刺阶段第八天
    冲刺阶段第七天
    冲刺阶段第六天
    第一次冲刺阶段(十一)
    第一次冲刺阶段(十)
    第一次冲刺阶段(九)
    第一次冲刺阶段(八)
  • 原文地址:https://www.cnblogs.com/xiaoli2018/p/5023963.html
Copyright © 2020-2023  润新知