MySQL基础笔记(一) SQL简介+数据类型
来源:互联网 发布:调查问卷怎么录数据 编辑:程序博客网 时间:2024/04/28 00:31
MySQL是一个关系型数据库管理系统(RDBMS),它是当前最流行的 RDBMS 之一。MySQL分为社区版和企业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
一、什么是SQL
SQL,即结构化查询语言(Structured Query Language),是与关系型数据库进行通信的标准语言。目前最新的标准是2008年7月开始采用的SQL-2008。
所谓SQL实现是指特定厂商的SQL产品或关系型数据库管理系统(RDBMS),目前主流的关系型数据库有DB2、Oracle、SQL Server、MySQL、PostgresSQL等。各种不同的SQL实现对SQL语言的支持与标准存在着细微的不同,所以,实际上不同数据库系统之间的SQL不能完全相互通用。
二、 SQL命令类型
结构化查询语言包含6个部分。
2.1 数据定义语言(DDL)
数据定义语言(DDL)用于创建和重构数据库对象,比如创建和删除表。
create tablealter tabledrop tablecreate indexalter indexdrop indexcreate viewdrop view
2.2 数据操作语言(DML)
数据操作语言(DML)用于操作关系型数据库对象内部的数据。
insertupdatedelete
2.3 数据查询语言(DQL)
数据查询语言(DQL)是最受关注的部分。虽然只有一个命令,但这个命令具有很多选项和子句。
select
2.4 数据控制语言(DCL)
数据控制语言(DCL)用于控制对数据库里数据的访问,比如创建与用户访问相关的对象、控制用户的权限。
alter passwordgrant /*赋予访问权限*/revoke /*取消访问权限*/
2.5 数据管理命令
数据管理命令用于对数据库里的操作进行审计和分析,还有助于分析系统性能。
start audit /*审计*/stop audit
2.6 事务控制命令
事务控制命令用于管理数据库事务,确保被DML语句影响的表的所有行及时得以更新。
commit /*保存数据库事务*/rollback /*撤销数据库事务*/savepoint /*在一组事务里创建标记点,用于回退(rollback)*/set transaction /*设置事务的名称*/
三、数据类型
MySQL支持多种数据类型,主要有数值类型、日期/时间类型、字符串类型。
3.1 数值类型
数值类型主要用来存储数字,包括整数类型和浮点数类型。
3.1.1 整数类型
3.1.2 浮点数类型
DECIMAL(m,d)
中,m表示有效位,d表示保留小数位数。
3.2 日期与时间类型
MySQL中有多种表示日期与时间的类型,如下表:
TIMESTAMP 显示宽度固定在19个字符,显示格式与 DATETIME 的相同。但是存储字节和支持范围不同,另外还有一个最大的不同是:
- DATETIME 按实际的输入格式存储,输入什么就存储什么,与时区无关;而 TIMESTAMP 以 UTC(世界标准时间)格式保存,存储时对当前时区进行转换,检索时再转换回当前时区。即查询时,根据当前时区的不同,显示的时间值是不同的。
3.3 字符串类型
MySQL支持两种字符串类型:文本字符串、二进制字符串
3.3.1 文本字符串类型
类型 ENUM 与 SET 的相同之处是它们在内部都用整数表示,定义列表中每个成员都有一个索引编号。而它们的不同之处在于:
- ENUM最多可以有65535个枚举值,而SET最多有64个成员。
- ENUM类型的字段每次取值只能取一个,而SET类型字段可以取零个或多个成员的组合形式。
3.3.2 二进制字符串类型
BLOB
类型是一个二进制大对象,通常用来存储可变的大容量数据,比如图片、音频或视频。
为了优化存储,在任何情况下均应使用最精确的类型。例如,如果列的值的范围为从1到99999,若使用整数,则MEDIUMINT UNSIGNED是好的类型。在所有可以表示该列值的类型中,该类型使用的存储最少。
- MySQL基础笔记(一) SQL简介+数据类型
- SQL基础学习(一)- SQL 简介
- MySQL学习笔记(一):基础常用SQL语句
- 学习笔记:(2)Mysql基础-数据类型
- 【学习笔记】mysql中的数据类型(一)
- SQL基础笔记(一)
- MySQL基础笔记(一):
- javascript基础笔记一数据类型
- MySQL学习笔记---基础概念和一些基础SQL语句(一)
- MySQL学习笔记---基础概念和一些基础SQL语句(一)
- 一.sql基础笔记
- MySQL基础sql语句总结(一)
- 【MYSQL】基础SQL语句总结(一)
- Java基础学习笔记(一)基本数据类型
- Java学习笔记(一) Java基础以及数据类型介绍
- scala学习笔记一(基础,安装及数据类型)
- python2.7学习笔记(一)数据类型及基础
- SQL零基础学习笔记(一)
- [Mybatis]代码生成工具
- sql触发器deleted 表和 inserted 表简介
- 深入浅出NodeJS笔记(二)
- 第十六周oj刷题——Problem F: B 统计程序设计基础课程学生的平均成绩
- 【第四篇章-android平台MediaCodec】判断是否支持硬解码代码
- MySQL基础笔记(一) SQL简介+数据类型
- Linux总线设备驱动模型学习
- Apriori算法的介绍
- 今日头条新闻阅读器
- 【后缀自动机】 CodeForces 235C Cyclical Quest
- 项目笔记:3.利用分布试存储(glusterfs)实现页面一致性
- Qt类使用记录
- 图片下载时遇到Can't create handler inside thread that has not called Looper.prepare()解决办法
- bzoj 1010 (单调决策优化)