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来完成这一功能 ...
随机推荐
- oracle 表空间不足解决办法
问题:在对某一表空间进行新建表的时候,出现ora-01658的错误. create 语句: create table OA_ORGCONFIG( OAOC_UNID INTEGER not ...
- spring-data-jpa 中,如果使用了one-to-many , many-to-one的注释,会在Jackson进行json字符串化的时候出现错误
问题: spring-data-jpa 中,如果使用了one-to-many , many-to-one的注释,会在Jackson 2.7.0 进行json字符串化的时候出现错误. 解决办法: 通过在 ...
- WebService调用(基于KSOAP2)
public static boolean getData(String param) { //WebService服务器地址 String SERVICE_URL = "http://22 ...
- github 项目绑定自己的域名
上周脑子发热申请了自己的一个域名.本想搞一个自己的网站,后来囊中羞涩,数据库,服务器..买不起了,只买个域名,发现啥也搞不成.后来突然想到了不行找个东西映射到这个域名上吧,就想到了github,之前也 ...
- MySQL索引(2)
一.索引基础 1. B-Tree索引 <1> 所有的值都是按顺序存储的,并且每一个叶子页到根的距离相同. <2> 顺序组织存储,很适合查找范围数据,效率会非常高. <3& ...
- 快速部署PostgreSQL
PostgreSQL通常也简称Postgres,是一个关系型数据库管理系统,适用于各种Linux操作系统.Windows.Solaris.BSD和Mac OS X.本文基于CentOS7,使用yum源 ...
- sql语句如何查询一个表中某两个字段的相同数据?
Select Name,ID From A group by Name,ID having count (*)>1
- .7-Vue源码之AST(3)
上一节到了parseHTML函数,该函数接受一个字符串与一个对象,字符串即对应的DOM,对象包含几个字符串匹配集及3个长函数. 简略梳理部分函数代码如下: // Line-7672 function ...
- Problem H
Problem Description 穿过幽谷意味着离大魔王lemon已经无限接近了! 可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又一个 ...
- 浅谈MES系统SMT的JIT功能(一):JIT原理
前段时间帮忙客户实现了MES系统的SMT线上的JIT功能(JIT功能只适合电子行业的生产线),今天就来谈谈JIT功能是什么,为什么工厂车间需要用到JIT等等一些经验 首先说说JIT: 准时制生产方式( ...