从转行做软件始,就开始接触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. php文字、图片水印功能函数封装

    一直在做有关php文字图片上传方面的工作,所以把此功能函数整理了一次,现在分享给大家. <?php class image { var $g_img; var $g_w; var $g_h; v ...

  2. 详解Js中文件读取机制

    前言,文件读取是提高应用体验度的必须接口,应用场景中需求很频繁. Js处理文件读取,由于处于安全方面的考虑,在2000年以前,都是以“<input type="file"&g ...

  3. *HDU1150 二分图

    Machine Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  4. jquer 基础篇 dom操作

    DOM操作: 1.新增元素:创建元素:$("HTML")返回的创建成功的新元素新增子元素:元素.append(obj) 在匹配元素的里面新增一个子元素 追加方式 新元素作为最后一个 ...

  5. 最难面试的IT公司之ThoughtWorks代码挑战——FizzBuzzWhizz游戏(C#解法)

    原题 看到那么多人看到前面这么糟粕的代码各种不忍直视后,楼主还是把最终实现放在页首吧.             Console.WriteLine("说出三个不同的特殊数,用','隔开 &q ...

  6. win7下装完ubuntu linux后,开机画面怎直接进入linux了,win7怎么启动

    修复 Windows 7 启动项重新启动ubuntu之后,结果发现选择windows 7的启动项,又进入到Ubuntu的安装界面.下面来说明如何修复,进人Ubuntu系统,打开“应用程序---附件-- ...

  7. 7.echo(),print(),print_r()的区别

    echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print()    只能打印出简单类型变量的值(如int,string) print_r() ...

  8. mysql performance_schema 和information_schema.tables了解

    这个是关于mysql的系统表,性能表,核心表操作的一些介绍,深入算不上 我们一般很少去动 mysql  information_schema 信息相关  performance_schema 性能相关 ...

  9. win7下wndows virtual pc 2007 装xp比新版本的 Windows virtual pc 好用

    2007下装xp虚拟机启动快,支持拖放.

  10. 《Linux及安全》实践3.2

    Login程序破解 一.掌握基本的汇编指令机器码 nop=空指令( 机器码90) JNE = 如果不相等就跳转机器码75) JE = 如果相等就跳转机器码74) JMP = 无条件跳转机器码EB) C ...