数据库基础之SQL简介及相关操作

一、SQL简介

SQL是结构化查询语言(Structured Query Language),是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

SQL 是1986年10 月由美国国家标准局(ANSI)通过的数据库语言美国标准,接着,国际标准化组织(ISO)颁布了SQL正式国际标准。1989年4月,ISO提出了具有完整性特征的SQL89标准,1992年11月又公布了SQL92标准,在此标准中,把数据库分为三个级别:基本集、标准集和完全集。 

数据库分为关系型数据库和非关系数据库,关系型数据库是目前最受欢迎的数据库管理系统,技术比较成熟,常见的关系型数据库有mysql 、SQL Server、Oracle、Sybase、DB2等。

MySQL是目前最受欢迎开源的SQL数据库管理系统,与其他的大型数据库Oracle、DB2、SQL Server等相比,MySQL虽然有它的不足之处,但丝毫也没有减少它受欢迎的程度。对于个人或中小型企业来说,MySQL的功能已经够用了, MySQ L又是开源软件,因此没有必要花大精力和大价钱去使用大型付费数据库管理系统了。

二、常见术语

关系数据库管理系统(Relational Database Management System,RDBMS)的常见术语:

  • 数据库: 数据库是一些关联表的集合。
  • 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
  • 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
  • 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
  • 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • 外键:外键用于关联两个表。
  • 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
  • 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
  • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

三、sql中常见数据类型

3.1  整型

类型大小范围(有符号)范围(无符号)用途
TINYINT1 字节-128~1270~255小整数值
SMALLINT2 字节-32768~327670~65535大整数值
MEDIUMINT3 字节-8388608~83886070~16777215大整数值
INT或INTEGER4 字节-2147483648~21474836470~4294967295大整数值
BIGINT8 字节-9223372036854775808~9 2233720368547758070~18446744073709551615极大整数值

3.2 浮点型

类型含义
float单精度浮点型    8位精度(4字节) 
double双精度浮点型    16位精度(8字节) 

3.3 定点数

浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。

decimal(m,d) 参数 m<65 是总个数,d<30 且 d<m 是小数位。

3.4 字符串

类型 大小 用途
char 0-255字节 定长字符串
varchar 0-65535 字节 变长字符串
tinytext 0-255字节 短文本字符串
text 0-65 535字节 长文本数据
mediumtext 0-16 777 215字节 中等长度文本数据
longtext 0-4 294 967 295字节 极大文本数据 

3.5 二进制数值

类型 大小 用途
tinyblob 0-255字节 不超过 255 个字符的二进制字符串
blob 0-65 535字节 二进制形式的长文本数据
mediumblob 0-16 777 215字节 二进制形式的中等长度文本数据
longblob 0-4 294 967 295字节 二进制形式的极大文本数据

3.6 日期时间类型

类型 大小(字节) 例子用途
date 32008/12/2日期值
time 312:25:36时间值或持续时间
year 11988年份值
datetime 82008/12/2 22:06混合日期和时间值
timestamp 41970-01-01 00:00:00/2038 混合日期和时间值,时间戳 

3.7 数据类型的属性

关键字含义
NULL数据列可包含NULL值
NOT NULL数据列不允许包含NULL值
DEFAULT默认值
PRIMARY KEY主键
AUTO_INCREMENT自动递增,适用于整数类型
UNSIGNED无符号
CHARACTER SET name指定一个字符集
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值