从转行做软件始,就开始接触sql,但还是不怎么深入,回忆3月份找工作的时候,左关联都没有写出来,真是丢脸,以此博客做个认真的开始。

  以后的日子,遇到了圆柱体的空心物体,我就应该联想到一样东西,那就是数据库。数据库这个东西就是放数据的仓库。那么什么又是数据呢?数据就是人们对客观事物的描述,就可是数据。如树有高度,有多少片树叶,有绿色等等,这些就算是数据。

  计算机时代的到来,让人们不再将数据存放在诸如纸质的资料里,而是存放在存储器里面。如何快速的存取我们得数据呢?人们就设计了一个管理系统,来管理数据的存储和取出。好了,这个系统,就是数据库管理系统。那么现在经常听说的关系型数据库管理系统就是这个了。

  关系型数据库里的最简单的存储单元就是表。表与表之间又存在着“关系”。这也是关系型数据库名称的来源。这里我们就好奇了,这个关系是什么呢?关系就是关联,可以这样想,一个表可以通过某种关联找到另一个表里的数据。这个就算是关联。

  现在我们进入到表的里面去看看,表的结构是怎么样的?表有行和列之分。行被称为记录。表的列是字段。行与行之间可以通过主键来区分唯一性。对于某一个单元格里放的内容呢,那就要涉及到了这个单元格所处的列了,这个列规定了限制了这个列所有的单元格都要遵守的规范,也就是数据类型,如这列的单元格里面,只能存放字符串,或是只能存放数值类型的等等。按照国际上对关系型数据库的约定的话,各个数据库厂商生产做出来的数据库都应该包含字符串、数值、日期时间类型的数据类型。按我自己的思路我总结了下,就是3+2+1+0。什么意思呢?

  1、“3”就是字符串类型、数值类型、日期时间类型。字符串类型又根据长度是否可变分为可变字符串和定长字符串。可变字符串如果变得很大的话,又一种专有的名词来定义,就是大对象类型,如BOLB或TEXT数据类型,前者是二进制字符串,后者如文本的字符串。还有个叫做直义字符串,如“hello”。数值类型呢,就如整数,小数,浮点数。日期时间类型就不用说了。

  2、“2”就是null类型和bool类型。

  3、“1”就是数据库支持的自定义类型。

  4、“0”像个圈,圈就类似区域。故我用”0“来指代数据库里特有的一个名词”“。域就是某个字段或说某个列能后使用的数据类型的集合,域往往又和约束一起使用,当你去引用一个被约束作用的域后,就可以更加精确的限制某个列能够存储的数据类型。

  好了,我们现在对数据库的基本的结构在脑海里有个大致的样子了,就是一个圆柱体里,或者就是某个化工厂里的一个罐罐。哈哈。这里面放了很多二维表,这些表里存放了很多来自客观世界的描述。现在在远处的人们,怎么才能与这个罐罐进行交互呢,用它来存取数据呢?这就要用到一个语言,一个用于人们的客户端与数据库之间进行通信的语言,这个语言就是sql语言。有了这个语言,在远处的某个人,如张三,他想对那个罐罐里的某个表的数据进行查看,他就可以发送一个sql语句到那个罐罐去,那个罐罐接收并处理了那个语句后,如果有数据结果,就会返回出来并发送到张三那去。这个过程就是sql会话。张三能说的话有哪几类能被罐罐数据库理解呢?有如下:

  A.数据定义语言DDL。就是定义如表的大致框框如字段是什么,字段的类型是什么,表名是什么等等,这时,这个表只有框架,单元格里并没有存放数据,也就是说记录数是0。

  B.数据操作语言DML。就是往数据库里插入、修改、删除记录的操作语言。

  C.数据查询语言DQL。就是不操作,仅仅查看。

  D.数据控制语言DCL。这是有关于权限的语言。能限制哪些用户能看到哪些数据。

  E.数据管理命令

  F.事务控制命令

  具体内容,下回分解。

  今日到此为止,晚安!!!

(一)sql入门 导读的更多相关文章

  1. SQL入门语句之ORDER BY 和GROUP BY

    一.SQL入门语句之ORDER BY ORDER BY 是用来基于一个或多个列按升序或降序顺序排列数据 1.从数据库表获取全部数据按字段A的升序排列 select *from table_name o ...

  2. SQL入门语句之LIKE、GLOB和LIMIT

    一.SQL入门语句之LIKE LIKE用来匹配通配符指定模式的文本值.如果搜索表达式与模式表达式匹配,LIKE 运算符将返回真(true),也就是 1.这里有两个通配符与 LIKE 运算符一起使用,百 ...

  3. SQL入门语句之SELECT和WHERE

    一.SQL入门语句之SELECT SELECT语句用于从数据库表中获取数据,结果表的形式返回数据.这些结果表也被称为结果集 1.从数据库表中取部分字段 select 字段A,字段B from tabl ...

  4. SQL入门语句之INSERT、UPDATE和DELETE

    一.SQL入门语句之INSERT insert语句的功能是向数据库的某个表中插入一个新的数据行 1.根据对应的字段插入相对应的值 insert into table_name(字段A, 字段B, 字段 ...

  5. SQL入门经典(十) 之事务

    事务是什么?事务关键在与其原子性.原子性概念是指可以把一些事情当作一个执行单元来看待.从数据库角度看待.他是指应该全部执行或者全部不执行一条或多条语句的最小组合.当处理数据时候经常确保一件事发生另一件 ...

  6. SQL入门经典(一)之简介

    今天是我第一天开通博客,也是我的第一篇博客.以后为大家带来第一篇关于学习技术性文章,这段时间会为大家带来是SQL入门学习.希望大家坚持读下去,因为学历有限.我也是初学者.语言表达能力不好和知识点不足, ...

  7. SQL入门

    ​ # SQL入门 数据库表 一个数据库(database)通常包含一个或多个表(table). 每一个表都有一个名字标识. 表单包含数据的记录(行). 一些重要的SQL命令(常用的吧) 命令 说明 ...

  8. Linq To sql入门练习 Lambda表达式基础

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  9. sql数据黑马程序员——SQL入门

    最近研究sql数据,稍微总结一下,以后继续补充: ---------------------- ASP.Net+Android+IO开辟S..Net培训.等待与您交流! --------------- ...

随机推荐

  1. UVa #11582 Colossal Fibonacci Numbers!

    巨大的斐波那契数 The i'th Fibonacci number f (i) is recursively defined in the following way: f (0) = 0 and  ...

  2. 20145205 《Java程序设计》第9周学习总结

    教材学习内容总结 第十六章 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC目的:让Java程序设计人员在撰写数据库操作程序时可以有个统一的接口,无须依赖特 ...

  3. Spring-Aop入门

    (一)Aop术语定义 1.通知(advice) 通知定义了切面要做什么工作,即调用的方法,同时定义了什么时候做这些工作,即以下五种类型 (1)前置通知(Before) :在目标方法调用之前执行切面方法 ...

  4. 设计模式之六大原则——迪米特法则(LoD,LKP)

    转载于:http://www.cnblogs.com/muzongyan/archive/2010/08/05/1793000.html  定义: 迪米特法则(Law of Demeter,LoD)也 ...

  5. springMVC、https、GET调用别人提供的接口!!!

    import org.apache.http.HttpEntity; import org.apache.http.HttpHost; import org.apache.http.HttpStatu ...

  6. Canvas小游戏里,删除过期或者死亡元素技巧

    在许多canvas游戏,canvas效果中,经常会有过期的元素需要删除 例如现在需要制作一个笨鸟先飞(flappy bird)小游戏,游戏中障碍物(且称为柱子),此时会有一个全局变量保存所有柱子的实例 ...

  7. Java数据校验(Bean Validation / JSR303)

    文档: http://beanvalidation.org/1.1/spec/ API : http://docs.jboss.org/hibernate/beanvalidation/spec/1. ...

  8. phpv6_css

    global @charset "utf-8"; /* CSS Document */ /*格式化样式*/ body,div,dl,dt,dd,ul,ol,li,h1,h2,h3, ...

  9. Javascript,颜色渐变效果的处理

    在搭建博主博客的时候,寻思着做一些效果,看到菜单,就想是不是可以做一下颜色的渐变,增加一点动态的感觉.有个jquery的插件,效果相当不错,不过博主还是打算自立更生写一下,看看能不能实现. 下面就是博 ...

  10. Windows重启网络命令

    netsh winsock reset ipconfig /flushdns