Chinaunix首页 | 论坛 | 博客
  • 博客访问: 118257
  • 博文数量: 42
  • 博客积分: 932
  • 博客等级: 准尉
  • 技术积分: 470
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-18 22:33
文章分类
文章存档

2011年(42)

分类: LINUX

2011-09-12 20:46:40

  首先,我们还是了解下SQL的发展史!
    1970:IBM研究员Codd 发表了关系数据库理论(relational database theory);
  1974-79: IBM 以Codd的理论为基础开发了“Sequel”,并重命名为"SQL";
  1979: Oracle 发布了商业版SQL
  1981-84: 出现了其他商业版本,分别来自 IBM(DB2),Data General(DG/SQL),Relational Technology(INGRES);
  SQL/86:ANSI 跟 ISO的第一个标准;
  SQL/89:增加了引用完整性(referential integrity);
  SQL/92(aka SQL2):被数据库管理系统(DBMS)生产商广发接受;
  1997+:成为动态网站(Dynamic web content)的后台支持;
  SQL/99:Core level跟其他8种相应的level,包括递归查询,程序跟流程控制,基本的对象(object)支持包括oids;
  SQL/2003:包含了XML相关内容,自动生成列值(column values);
  2005-09-30:“Data is the next generation inside...SQL is the new HTML”! Tim O'eilly提出了Web 2.0理念,称数据将是核心,SQL将成为“新的HTML";
  SQL/2006:定义了SQL与XML(包含XQuery)的关联应用;
了解了这些那么SQL与RDBMS有什么样的关系以及SQL到底是什么呢?
RDBMS 是 SQL 的基础,结构化查询语言最初是IBM公司为自己的关系型数据库System R开发的一种查询语言,由于语言结构简单,功能强大很快就得到了广泛的应用,不过最初各个公司都基于自己的数据库开发SQL语言,十分的不统一,于是ANSI——美国标准委员会就指定了SQL的ANSI标准,就是上面的发展过程!然而各个公司都只能做到部分兼容!
SQL是高级的非过程化编程语言,是沟通数据库服务器和客户端的重要工具,是结构化的查询语句。
 
SQL语言包含4个部分:
  数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。
  数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。
  数据查询语言(DQL),例如:SELECT语句。
  数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。
 
 
对于以上的语言具体怎么使用将在后面的MySQL命令与SQL语句的博文中做较为详细的介绍!下面我们来看看SQL中的数据类型包括:
 
字符型:
char
varchar
binary
varbinary
文本型:
blob,tinyblob,mediumblob,longblob
text,tinytext,mediumtext,longtext
数值型:
 精确
   整型
int,tinyint,smallint,mediumint,bigint
十进制实数
近似
  单精度浮点 float
  双精度浮点 double
日期时间型:
date
time
datetime
timestamp
year
内建类型:
enum
set
逻辑型:
bit
关于数据类型相信大家也都很熟悉了,也就不啰嗦的一个一个介绍了,并且大多数都只用知道是哪种类型的即可!其他的问题,一般都是长度不同,或者更加细节的,如char和varchar char是固定长度的,varchar是可变长度的,VARCHAR型字段可以比CHAR型字段占用更少的内存和硬盘空间。当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要 ,但是VARCHAR型字段在读取得效率上却比不上CHAR,并且VARCHAR数据的可扩展性不如CHAR。还有对于排序问题char和binary的顺序可能不同等等对于这些细节性的问题,就只要靠自己的经验以及需求来决定了!
 
字段的修饰符
not null
unique
auto_increment
default
primary
暂时就想起了这么多!
 
MySQL和SQL基础理论部分到此基本结束!后面将会对MySQL客户端命令以及管理命令还有SQL语句的使用结合示例做较为详细的介绍,里面用到基础部分的知识点就可能不做注释了如果有遗漏的概念或其他地方会在这两篇博文中再做补充,但是对于操作本身的意义和应注意的地方会做解释!
 
 
 
 
 
 
阅读(1811) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~