第一课了解SQL
1.1 数据库基础
其实一直在使用这数据库,当你在邮箱中查询名字时,当在网站上进行搜索,在自动取款机上使用ATM卡,这些操作都是在使用数据库
1.1.1 数据库
数据库:保存有组织的数据的容器(通常是一个文件或一组文件)。
误用导致混淆:
人们通常用数据库这个术语来代表他们使用的数据库软件,这是不正确的,也因此产生了许多混淆。确切来说,数据库软件称为数据库管理系统(DBMS)。数据库是通过DBMS创建和操纵的容器,而具体它究竟是什么,形式如何,各种数据库都不一样。
1.1.2 表
表(table): 某种特定类型数据的结构化清单。
数据库中的每个表都有一个名字来标识自己。这个名字是唯一的,即数据库中没有其他表具有相同的名字。
表具有一些特性,这些特性定义了数据在表中如何存储,包含存储什么样的数据,数据如何分解,个部分信息如何命名等信息。
1.1.3 列和数据类型
列(column):表中一个字段。所有表都是由一个或多个列组成的。
数据库中的每个列都有相应的数据类型。数据类型(datatype)定义了列可以存储那些数据类型。 例如:列中存储的是数据则相应的数据类型应该为数值类型。如果列中存储的是日期,文本,注释,金额等,则应该规定好恰当的数据类型。
数据类型:所允许的数据的类型每个表列都有相应的数据类型,它限制(或允许)该列中存储的数据。
数据类型限定了可存储在列中的数据种类。
数据类型还帮助正确的分类数据,并在优化磁盘使用方面起重要的作用。因此在创建表时必须特别关注所用的数据类型。
1.1.4 行
行(row):表中的一个记录。
表中的数据是按行存储的,所保存的每个记录存储在自己的行内。如果将表想象为网格,网格中垂直的列为表列,水平行为表行。
1.1.5 主键
主键(primary key):一列(或一组列),其值能够唯一标识表中每一行。
应该总是定义主键:
虽然并不总是需要主键,但多数数据库设计这都会保证他们创建的每个表具有一个主键,以便于以后的数据操作和管理。
表中的任何列都可以作为主键,只要他满足一下条件:
1 任意两行都不具有相同的主键值;
2 每一行都必须具有一个主键值(主键列不允许NULL值);
3 主键列中的值不允许修改或更新;
4 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。
主键通常定义在表的一列上,但并不是必需这么做,也可以一起使用多个列作为主键。在使用多列做主键时,上述条件必须应用到所有列,所有列值必须是唯一的(但单个列的值可以不唯一)。
还有一种非常重要的键称为外键。
1.2 什么是SQL
SQL 是Structured Query Language(结构化查询语言)的缩写。SQL是一种专门用来与数据库沟通的语言。
SQL有如下优点:
1 SQL 不是某个特定数据供应商专有的语言。几乎所有重要的DBMS都支持SQL,所以学习此语言使你几乎能与所有数据库打交道。
2 SQL简单易学。它的语句全都是由有很强描述性的英语单词组成,而且这些单词的数目不多。
3 SQL虽然看上去很简单,但实际上有一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。
第一课了解SQL的更多相关文章
- 第一课 了解SQL
1.1数据库基础 数据库:数据库是一个以某种有组织的方式存储的数据集合,可以想象是一个文件柜 数据库管理软件:DBMS用来操做创建数据库的软件 表:某种特定类型数据的结构化清单,数据库的下一层就是表 ...
- sql第一课笔记
这是我看了imooc的视频教程之后重新写的笔记. 虽然之前也是学习过SQL Server数据库,但是也是忘记得差不多了.现在重新捡起来,安装一次数据库练习,使用的是mysql. 第一课是最简单的创建, ...
- Magento学习第一课——目录结构介绍
Magento学习第一课--目录结构介绍 一.Magento为何强大 Magento是在Zend框架基础上建立起来的,这点保证了代码的安全性及稳定性.选择Zend的原因有很多,但是最基本的是因为zen ...
- vue.js学习(第一课)
学习资料 来自台湾小凡! vue.js是javascript的一个库,只专注于UI层面,核心价值永远是 API的简洁. 第一课: 不支持IE8. 1.声明式渲染: el元素的简称 element : ...
- <-0基础学python.第一课->
初衷:我电脑里面的歌曲很久没换了,我想听一下新的歌曲,把他们下载下来听,比如某个榜单的,但是一首一首的点击下载另存为真的很恶心 所以我想有没有办法通过程序的方式来实现,结果还真的有,而且网上已经有有人 ...
- 留念 C语言第一课简单的计算器制作
留念 C语言第一课简单的计算器制作 学C语言这么久了. /* 留念 C语言第一课简单的计算器制作 */ #include<stdio.h> #include<stdlib.h ...
- MFC学习-第一课 MFC运行机制
最近由于兴趣爱好,学习了孙鑫的MFC教程的第一课.看完视频了,自己便用visual studio 2010尝试了MFC编程,其中遇到了一些问题. 1.vs2010不像vs6.0那样可以新建一个空的MF ...
- OpenCV 第一课(安装与配置)
OpenCV 第一课(安装与配置) win10,opencv-2.4.13, 安装, vs2013, 配置 下载安装软件 官网OpenCV下载地址下载最新版本,我下载的是opencv.2.4.13,然 ...
- 【第一课】神奇的Context
初学Android的困惑 初学Android跳转页面的时候,往往教程里是这么写的: Intent intent = new Intent(); //MyActivity就是当前的Activity,It ...
随机推荐
- laravel5.2加载自定义的aliyun扩展包
把文件夹加载进来 在 app.php里面注册 serviceprovider 在 app/filesystems.php 里面 加入相关的配置 把 cloud的值 改成对应的扩展 在.env文件里面完 ...
- 新一代的json--fetch
fetch( "http://jsontest.bceapp.com/hi", { method:"POST", mode:"core", ...
- Forth嵌套定义的执行过程图示
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- SQL-49 针对库中的所有表生成select count(*)对应的SQL语句
题目描述 针对库中的所有表生成select count(*)对应的SQL语句CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_dat ...
- XenServer7.6命令行导出导入虚拟机(迁移)
一:命令行方法导出虚拟机(先关闭虚拟机) 1.1:打印虚拟机列表 xe vm-list uuid ( RO) : 43dfac04-515e-7769-b2d2-444d4b7cb198 name-l ...
- nmon监控与 nmon analyser分析
参考 https://www.cnblogs.com/wnfindbug/p/5719181.html 1.下载 nmon https://zh.osdn.net/projects/sfnet_nmo ...
- 2018 ICPC 区域赛 焦作场 D. Keiichi Tsuchiya the Drift King(计算几何)
http://codeforces.com/gym/102028/problem/D 题意:根据题中给的那个图,然后题目给你 a,b,r,d,让你求出最小的满足矩形通过弯道的w 思路:
- 马凯军201771010116《面向对象程序设计(java)》第六周学习总结
第一部分:理论知识学习部分 枚举是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁,安全性以及便捷性.创建枚举类型 ...
- TestLink测试管理工具的使用举例—第一篇
本博客用来详细说明TestLink测试管理工具的使用方法,前两篇博客已经详细说明了TestLink工具的下载,安装及基本登录功能,本篇开始说明其工具的具体使用! 下载安装TestLink工具之后,我们 ...
- 清楚理解const_cast类型转换
1.任何使用原常量的地方, 已经直接编码到代码中去了.故后续转换类型并不能改变原定义 2.const_cast转换, 是使用了新指针或者引用,指向了原定义的内存,故而可以修改该内存. 使用也得用新指针 ...