SQL学习入门(一) 概述
从事开发也有一段时间了,期间接触SQL也挺长时间了。许多东西也不是理解的特别深刻,所以写写随笔总结归纳一下。
如有不对的地方,欢迎指正!
一.认识SQL
(1) 什么是SQL?
1.SQL 指结构化查询语言
2.SQL 使我们有能力访问数据库
3.SQL 是一种 ANSI 的标准计算机语言
注意:ANSI,美国标准
(2) SQL能做什么?
- SQL 面向数据库执行查询
- SQL 可从数据库取回数据
- SQL 可在数据库中插入新的记录
- SQL 可更新数据库中的数据
- SQL 可从数据库删除记录
- SQL 可创建新数据库
- SQL 可在数据库中创建新表
- SQL 可在数据库中创建存储过程
- SQL 可在数据库中创建视图
- SQL 可以设置表、存储过程和视图的权限
(3) 数据库系统
什么是数据库?举个例子来说明这个问题:每个人都有很多亲戚和朋友,为了保持与他们的联系,我们常常用一个笔记本将他们的姓名、地址、电话等信息都记录下来,这样要査谁的电话或地址就很方便了。这个“通讯录”就是一个最简单的“数据库”,每个人的姓名、地址、电话等信息就是这个数据库中的“数据”。我们可以在笔记本这个“数据库”中添加新朋友的个人信息,也可以由于某个朋友的电话变动而修改他的电话号码这个“数据”。不过说到底,我们使用笔记本这个“数据库”还是为了能随时査到某位亲戚或朋友的地址、邮编或电话号码这些“数据”。
数据库(Database)是按照数据结构来组织、储存和管理数据的建立在计算机存储设备上的仓库。
MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他数据库系统 PS:好多我也没用过。
他们都有一些相似的地方,比如(SELECT、UPDATE、DELETE、INSERT、WHERE 等等),当然大多数据库都有自己的扩张。可以了解了解。
(4) 数据库表
一个数据库通常包含一个或多个表。每个表由一个名字标识(表名),表是相关的数据项的集合,它由列和行组成。
1.字段。
每个表都可以分解为更小的项。这些项被称为“字段”。字段是表里的一列,用于保持每条记录的特定信息。
2.记录或一行数据。
记录,也被称为一行数据,是表里的各行。在关系型数据库的表里,一行数据是指一条完整的记录。
3.列。
列是表里的垂直的一项,包含表里特定字段的全部信息。
4.主键。
主键用于区分表里的每一条数据,它通常是在表创建过程中初始化的。主键的特性确保了每一条记录都是唯一的。
5.NULL值。
NULL 是表示“没有值”的专用术语。如果表中某个字段的值是NULL,其表现形式就是字段为空,其值就是没有值。NULL并不等于0或空格。值为NULL的字段在表创建过程中会保持为空。
6.索引
为了提高访问数据库的效率,可以对数据库使用索引。当数据库较大时,为了查找指定的记录,则使用索引和不使用索引的效率有很大差别。索引实际上是一种特殊类型的表,其中含有关键字段的值(由用户定义)和指向实际记录位置的指针,这些值和指针按照特定的顺序(也由用户定义)存储,从而可以以较快的速度查找到所需要的数据记录。
二.数据库语言
SQL DML(数据库操作语言) DDL(数据库定义语言) DQL(数据库查询语言) DCL(数据库控制语言)
(1) SQL DML
用于更新、删除和插入记录的语法。
- UPDATE - 更新数据库表中的数据
- DELETE - 从数据库表中删除数据
- INSERT INTO - 向数据库表中插入数据
(2) SQL DDL
用于创建或删除表格,也可以定义索引(键),规定表之间的关系,以及添加表间的约束。
- CREATE DATABASE - 创建新数据库
- ALTER DATABASE - 修改数据库
- CREATE TABLE - 创建新表
- ALTER TABLE - 变更(改变)数据库表
- DROP TABLE - 删除表
- CREATE INDEX - 创建索引(搜索键)
- DROP INDEX - 删除索引
(3) SQL DQL
用于执行查询的语法,基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块。
SELECT <字段名>
FROM <表名或视图>
WHERE <条件>
(4) SQL DCL
用于创建与用户访问相关的对象,以及控制用户的权限
- ALTER PASSWORD
- GRANT <授权>
- REVOKE
- CREATE SYNONYM
这篇文章只是简单的介绍了有关SQL的基本知识!都是一些概念,比较容易理解。下篇文章将介绍SQL语法。
SQL学习入门(一) 概述的更多相关文章
- Sql Server新手学习入门
Sql Server新手学习入门 http://www.tudou.com/home/_117459337
- Spark2.x学习笔记:Spark SQL快速入门
Spark SQL快速入门 本地表 (1)准备数据 [root@node1 ~]# mkdir /tmp/data [root@node1 ~]# cat data/ml-1m/users.dat | ...
- TERADATA SQL学习随笔<一>
此博客内容简介及目录 http://www.cnblogs.com/weibaar/p/6644261.html 最近在TERADATA环境学习SQL.在这里记录一下学习中查过的知识点,作为备案. 目 ...
- ORMLite学习入门笔记
ORMLite学习入门笔记 使用原始的SQLiteHelper来操作维护数据库有点过于繁琐,重复工作量较大.所以会想到使用一个比较方便的ORM来维护我们本地的数据库,各位业界前辈都给我推荐了ORMLi ...
- Redis(一):NoSQL入门和概述
NoSQL入门和概述目录导航: NoSQL入门概述 3V+3高 当下的NoSQL经典应用 NoSQL数据模型简介 NoSQL数据库的四大分类 在分布式数据库中CAP原理CAP+BASE NoSQL 入 ...
- SQL 从入门到 DBA 删库跑路
SQL 从入门到 DBA 删库跑路 一.基础 人员信息表: ID 姓名 性别 出生 婚否 学历 工资 工会 35009449 孙xx 男 1978-2-17 未婚 中专 3000 TRUE 35000 ...
- Android Studio快捷键【Android学习入门】
Studio快捷键[Android学习入门]" title="Android Studio快捷键[Android学习入门]"> 提示 Ctrl+P方法参数提示 Ct ...
- 每天成长一点---WEB前端学习入门笔记
WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...
- C# BackgroundWorker组件学习入门介绍
C# BackgroundWorker组件学习入门介绍 一个程序中需要进行大量的运算,并且需要在运算过程中支持用户一定的交互,为了获得更好的用户体验,使用BackgroundWorker来完成这一功能 ...
随机推荐
- Java IO(Properties/对象序列化/打印流/commons-io)
Java IO(Properties/对象序列化/打印流/commons-io) Properties Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载. ...
- 【ASP.NET MVC 学习笔记】- 08 URL Routing
本文参考:http://www.cnblogs.com/willick/p/3343105.html 1.URL Routing告诉MVC如何正确的定位Controller和Action. 2.URL ...
- Linux中的各种软件安装
Linux下的软件形式 Linux上的软件有几种常见的方式 二进制发布包 软件包已经针对具体平台完成了编译和打包,解压后即可以使用,最多去改改配置文件,也是Linux上最通用和常见的软件包发布形式 例 ...
- Java常用类(五)之集合工具类Collections
前言 Java提供了一个操作Set.List和Map等集合的工具类:Collections,该工具类提供了大量方法对集合进行排序.查询和修改等操作, 还提供了将集合对象置为不可变.对集合对象实现同步控 ...
- RobotFrameWork安装笔记
1. RobotFrameWork安装配置笔记 1.1. 安装环境 64位win10家庭中文版 网上很多这方面的教程,但是比较零散,这里是自己安装配置的一个简单的笔记. 1.2. 安装说明 由于R ...
- IIS下自定义错误页面配置的两种方式(亲测可行)--IIS服务器
网站自定义错误页面的设置,大家应该都知道它的重要性……不多说,下面带大家一步步在IIS下设置网站自定义错误页面…… 1.首先进入你的网站主页,找到[错误页](注意是IIS下的错误页不是.NET错误页) ...
- 哈尔滨理工大学第六届程序设计团队 E-Mod
/* 成功水过,哈哈哈,可能数据水吧 */ #include <stdio.h> #include <algorithm> #include <string.h> ...
- Linux替换命令
:s/^.*$/\L&/100 ##将100行内的小写转换成大写 vi/vim 中可以使用 :s 命令来替换字符串. :s/vivian/sky/ 替换当前行第一个 vivian 为 sky ...
- 新手入门Flume搭建部署
在root的用户下 1):• 前提 安装JDK环境 2):• 在官网下载Flume,http://mirror.bit.edu.cn/apache/flume 既是:wget http://mirr ...
- Halcon算子翻译——assign
名称 assign-为控制变量分配一个新的值 用法 assign( : : Input : Result) 描述 为控制变量分配一个新的值. 在全文编辑器中,只需用:=就可以进行赋值,例如: u : ...