数据库(上)
来源:互联网 发布:sql delete 删除列 编辑:程序博客网 时间:2024/06/06 12:48
1.数据库概述
- 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,其本身可以看作电子化的文件柜,用户可以对文件中的数据进行增加、删除、修改、查找等功能。
- 数据库系统由数据库、数据库管理系统、数据库应用程序等组成
2.数据库分为关系型数据库和非关系型数据库
2.1关系型数据库(Relational database)
- 常见的关系型数据库 : MYSQL、Oracle、DB2、Microsoft SQL Server Microsoft Access
- 关系数据库语言由4部分组成
- 数据定义语言(DDL)
- 数据操作语言(DML)
- 数据查询语言(DQL)
- 数据控制语言(DCL)
- 优点:
- 支持复杂查询:可以在一个表或者多个表之间进行复杂查询
- 事务支持 :使得对于安全性能很高的数据访问要求得以实现
- 易于维护 :完整性大大减低了数据冗余和数据不一致的概率
- 使用方便 :通用的SQL语言使得操作关系型数据库非常方便
- 缺点:
- 固定的表结构
- 高并发读写需求
- 为了维护一致性所付出的的巨大代价就是读写性能比较差
2.2非关系型数据库
- 常见的非关系型数据库 : SQLite、mongoDB、Hbase、Cassandra
- 优点:
- 无需经过sql层的解析,读写性能很高
- 基于键值对,数据没有耦合性,容易扩展
- 缺点:
- 不提供SQL支持
- 没有事务处理
3.数据类型
3.1 整数类型
- 5种整数类型:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT
3.2浮点数类型和定点数类型
- 浮点数类型有两种:
- 单精度浮点数类型(float)
- 全精度浮点数类型(double)
- 定点数类型只有DECIMAL类型
3.3日期和时间类型
- 五种类型:YEAR、DATA、TIME、DATATIME、TIMESTAMP
- YEAR: 用来表示年份
- 使用4位字符串或数字表示 范围为 ‘1901’-‘2155’ 或 1901-2155
- 使用2位字符串表示 范围‘00’-‘99’
- 使用2位数字表示,范围为 1-99
- 使用YEAR类型时,一定要区分‘0’和0 因为字符串格式的‘0’表示的是* YEAR值是2000,而数字格式的0表示的YEAR值是0000
- DATA类型 用于表示日期值,不包含时间部分
- 四种格式:
- ’YYYY-MM-DD’字符串格式表示
- ‘YY-MM-DD’字符串格式表示
- YY-MM-DD数字格式表示
- 使用CURRENT_DATA或者NOW()表示当前系统时间
- 四种格式:
- TIME类型 表示时间值
- 三种格式 :
- ‘D HH:MM:SS’字符串格式
- ‘HHMMSS’字符串格式或者HHMMSS数字格式
- 使用CURRENT_TIME或NOW()输入当前系统时间
- 三种格式 :
DATATIME类型: 用于表示日期和时间
- 四种格式:
- ’YYYY-MM-DD HH:MM:SS’字符串表示取值范围(‘1000-01-01 00:00:00’-‘9999-12-3 23:59:59’)
- ‘YY-MM-DD HH:MM:SS’或者‘YYMMDDHHMMSS’字符串表示 YY表示年 取值范围 ‘00’-‘99’
- YYYYMMDDHHMMDD或者YYMMDHHMMSS数字格式表示
- 使用NOW来输入当前系统的日期和时间
- 四种格式:
TIMESTAMP 表示日期和时间 形式和DATETIME相同,取值范围比DATETIME小
- 使用CURRENT_TIMESTAMP来输入当前日期和时间
- 输入NULL,系统会输入系统当前日期和时间
- 无任何输入时,系统会输入系统当前日期和时间
3.4 字符串和二进制
- char : 用于表示固定长度的字符串
- varchar: 用于表示可变长度的字符串
- binary: 用于表示固定长度的二进制数据
- varbinary:用于表示可变长度的二进制数据
- bolb: 用于表示二进制大数据
- text: 用于表示大文本数据
- enum :表示枚举类型,只能存储一个枚举字符串值
- set: 表示字符串对象,可以有零或多个值
- bit: 标志字段类型
- 存储字符串、图片、声音的数据
阅读全文
0 0
- SQLite数据库(上)
- SQLite数据库(上)
- 数据库设计(上)
- 数据库(上)
- 数据库三范式(上)
- 数据库三范式(上)
- Java基础:数据库(上)
- oracle数据库学习 (上)
- 数据库相关中间件(上)
- 26--- 数据库&MySQL(上)
- Oracle数据库整理(上)
- 第二十七天 数据库(上)
- Oracle数据库-QSL(上)
- 数据库基础语法(上)
- Oracle数据库数据对象分析(上)
- Oracle数据库数据对象分析(上)
- Oracle数据库数据对象分析(上)
- PHP脚本数据库功能详解(上)
- 大型网站架构之分布式消息队列
- Win7 Zookeeper的下载与安装
- Angular2/4 在html模板里加入<scprit>标签,引用ckeditor的办法
- PAT程序设计考题——甲级1030(Travel Plan) C++实现
- 【学习笔记】图论 Tarjan LCA 割点 桥 暑假7.5
- 数据库(上)
- 用友uap nc65开发-使用自定义公式解决参照多显问题
- 官网说明:Python 2 or 3区别
- Action对象
- mysql 常用函数分享
- 【备忘】零基础学习python
- PopWindow实现二级联动菜单
- CentOS下yum安装FFmpeg
- Selenium原理探秘