(数据库一)数据库基础

一、数据库的发展史
   (1)手工管理:藏书阁,图书馆。
          优点:分类管理,直观性强
          缺点:信息流动慢,不方便
   (2)文件管理:计算机文件系统,图书管理系统
          优点:分类管理,层次分明
          缺点: 查找不方便
   (3)数据库管理:
          优点:存取数据非常方便.
          缺点:有数据的安全隐患。

二、数据库概念
    数据库(DataBase):简称DB,按照某一特定数据结构来组织,存储数据的仓库。
    数据库管理系统(DataBase Management System):简称DBMS.是为了建立,操作和维护数据库而设计的一个程序。介于用户和数据库之间。
    PS: 使用SQL语言,通过DBMS来管理DB。

三、关系型数据库
    (1)所谓的关系,指的就是表,或者表与表之间。关系模型,就是表的行与列。比如  教师(教师编号,姓名,年龄,性别,科目)。
    (2)常用的关系型数据库:
       大型:Oracle--甲骨文(Oracle)公司的产品
               SqlServer--Microsoft旗下的产品
               DB2--IBM旗下的产品
       小型:Access--MicroSoft旗下的产品
               Mysql--目前是甲骨文旗下的产品

四、Mysql
   1)Mysql是一个关系型数据库,最开始是瑞典的MysqlAB公司的产品,后来被Sun公司收购,在2009年4月20号Sun公司被Oracle收购.
   2)Mysql特点
      --mysql是开源的,不会产生额外的费用。
      --mysql支持大型数据库,比如可以管理上千万条记录的数据库。
      --mysql支持多操作系统,支持多语言连接:C,C++,java,PHP....
      --mysql成本比较小,相比较Oracle和DB2。
   3)Mysql的安装(略)
       服务端的安装:DB和DBMS的安装
       客户端的安装:自带的客户端、第三方客户端
   4)Mysql的连接和使用
    a.使用:打开mysql图形界面,输入密码即可打开mysql
    b.查询数据库
        show databases;
    c.先选择数据库
        use mysql;
    d.书写SQL
    e.查询数据库中的表
        show tables;

五、表(Table)
   表是关系型数据库的基本存储结构。
   1)表是二维数据结构,有行和列
   2)行(Row)是横排数据,也叫记录(Recond)
   3)列(Column)是竖排数据,也叫字段(Field)
   4)行与列的交叉点是 字段值
   5)表与表之间也存在关系

六、数据库支持的数据类型
    MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

数值类型
类型 大小(字节) 范围(有符号)
TINYINT 1 (-128,127)
SMALLINT 2 (-32768,32767)
MEDIUINT 3 (-8388608,8388607)
INT或INTEGER 4 (-2147483648,2147483647)
BIGINT 8 (-9233372036854775808,9223372036854775807)
FLOAT 4 单精度
DOUBLE 8 双精度
DECIMAL  

对DECIMAL(M,D),若M>D,则返回值为M+2否则为D+2

 

 

 

 

 

 

 

 

 

日期和时间类型
类型 大小(字节) 范围 格式 用法
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP 8 1970-01-01 00:00:01/2038-01-19 03:14:07 YYYY-MM-DD HH:MM:SS 混合日期和时间值,时间戳

 

 

 

 

 

 

 

字符串类型
类型 大小(字节) 用法
CHAR 0-255 定长字符串
VARCHAR 0-65535 变长字符串
TINYBOLB 0-255 不超过255个字符的二进制字符串
TINYTEXT 0-255 短文本字符串
BLOB 0-65535 二进制形式的长文本数据
TEXT 0-65535 长文本数据
MEDIUMBLOB 0-16777215 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16777215字节 中等长度文本数据
LOGNGBLOB 0-4294967295 二进制形式的极大文本数据
LONGTEXT 0-4294967295字节 极大文本数据

 

 

 

 

 

 

 

 

 

 

 

 

七、结构化查询语言(SQL)
    结构化查询语言(Structured Query Language),简称SQL,是数据库的标准查询语言。可以通过DBMS对数据库进行义数据、操纵数据、查询数据,数据控制等
   

SQL可以分为:
    1)数据定义语言(DDL):Data Definition Language
       如创建表create
        create table tableName(
            字段1 类型,
            字段2 类型,
            字段3 类型
        )

        删除表drop
        drop table tableName

    修改表alter
        a)向表最后追加新字段
        --格式:alter table tableName add (colName Type);
        b)删除表字段语句
        --格式:alter table tableName drop colName;
        c)--修改表字段类型
        --格式:alter table tableName modify colName newType;
        d)--修改表字段名称
        --格式:alter table tableName change oldColName newColName newType;
        e)修改表名
        --格式:alter table oldName rename newName;

    查看表结构
        a)查看表结构
        --格式:desc 表名;

    清空表truncate,彻底清空,无法找回。
        只删除表中的记录,保留表的结构
        --格式:truncate tableName;
    
    2)数据操纵语言(DML):Data Manipulation Language
      插入数据insert
        --格式1:insert into tableName(字段1,字段2...,字段n) values (值1,值2...,值n)
        --格式2:insert into tableName values(值1,值2,..值n);
            注:格式2要求插入的值必须和建表时字段的顺序相对应,否则容易出现错误

      删除数据delete
        --格式:delete from tableName [where eid=2 and(or) ename='小赵'];

      修改数据update
        --格式:update tableName set 字段1=值1,字段2=值2 [where eid > 2];

--创建数据库并指定字符集
        create database jsd1707 default character set utf8

    3)数据查询语言(DQL):Data Query Language
        --select:选择
    4)数据查询语言(DCL):Data Control Language
        --grant,revoke

 

阅读更多

没有更多推荐了,返回首页