壹 概述

                         一 了解SQL

1.1 数据库基础

1.1.1 什么是数据库

  数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件)。

易混淆:人们常常用“数据库”这个词语来代表他们使用的数据库软件,这是不对的。这是引起混淆的根源。确切地说,数据库软件应该称为DBMS(Database Management System数据库管理系统)。数据库是通过DBMS创建、操纵的容器。它可以使保存在硬盘上的文件,但也可以什么都不是。我们所说的MySQL数据库学习或者Oracle数据库学习,实际上就是对该数据库软件的学习。

  我们使用DBMS可以创建多个数据库。但是要求每一个数据库的名字都必须是唯一的。最好做到见名知意。如: school。

1.1.2 表

  表(table)某种特定类型数据的结构化清单。我的理解就是表就是一组存在逻辑关联的数据项的集合。可以类比Java或C++等面向对象语言中“”的概念。

  下面,就我所创建的一张表来说明一下表中的各种概念。

 create table student(
id long primary key,
name varchar(100),
gender varchar(20)
);

表名: 每一个数据库中都可以有多个表,但其中每一张表的名字都应该是唯一的(允许不同的数据库中存在同名的表,就好像Java中不同的包中可以有

同名的类一样)。表名用于唯一标识一个表,所以应该做到见名知意,如:student、teacher。上图中我所创建的表的表名

即为student。

(注意: 上图只是创建一个表的一部分语句。作为例子贴出来了。如果想查看完整版,请查询本人的其它博客。)

  列(column),表中的一个字段。如上述例子中的id、name、gender(性别)。所有表都由一个或多个列所组成。我们可以类比Java中的类中的成员变量名来理解。

  数据类型(datatype)所容许的数据的类型。每个表列都有相应的数据类型,它限制该列中存储的数据。可以类比Java中类的成员变量的类型来理解。如:int、String等。

1.1.3 行

  行(row)表中的一条记录(即一条数据)。

该表共有两行数据。

1.1.4 主键

  一列或一组列(联合主键,别担心后面的博客中我会仔细讲解),其值能够唯一区分表中的每个行(每条数据)。我们可以理解为学号、身份证号可以唯一区分一名学生,一位公民。

  表中的任何列都可以作为主键,只要它满足一下条件:

  1)任意两行不具有相同的主键值(唯一);

  2)每个行都必须具有一个主键值(非空).

从形式上分,主键可以分为单列和多列。单列不允许重复,如上述例子中,每个学生的id都必须唯一。多列中,所有列只的组合必须唯一。

1.2 SQL

  SQL(发音为S-Q-L[即逐个字母发音]或sequel)是结构化查询语言(Structed Query Language)的缩写。SQL是专门与数据库通信的语言。

  方言: 每个DBMS都有自己实现的SQL语言,被称为方言。这些方言既有SQL的大部分特点,又有自身的特色和功能。好似普通话和方言之间的关系。MySQL、Oracle都属于方言。我们在书写SQL语句时,应该尽量标准,这样有利于他人的理解和数据库数据的迁移(从一个数据库转移到另一个)。

            

                      二 MySQL简介

2.1 什么是MySQL

  前文中已经提到了。MySQL就是一种数据库软件,DBMS的一种。它用来创建、操纵数据库。

2.2 客户机 - 服务器软件

  我们在客户机上通过SQL语句或可视化界面发送相应的SQL语句给服务器软件以创建,操纵数据库。

  我们下载下来用来学习的、安装在我们个人电脑上的DBMS就包含两部分: 处理有关数据操作请求的服务器软件和MySQL命令行工具(在命令行中输入MySQL相关语句,如上述的创建student表的部分语句)。

2.3 MySQL

  下载可到官网。建议下载5或5之后的版本。包含了许多高级特性。

   

       

  

MySQL数据库学习: 01 —— 数据库的概述的更多相关文章

  1. MySQL数据库学习一 数据库概述

    1.1 数据库管理技术的发展阶段 人工管理阶段,文件系统阶段,数据库系统阶段. 1.2 数据库系统阶段涉及的概念 数据库(Database DB):是指长期保存在计算机的存储设备上,按照一定的规则组织 ...

  2. MySQL数据库学习三 数据库对象和基本操作

    3.1 数据库和数据对象 1. 系统数据库 information_schema:主要存储系统中的一些数据库对象信息,如用户列表信息.列信息.权限信息.字符集信息和分区信息等. performance ...

  3. MySQL数据库学习2 - 数据库的操作

    一.系统数据库 二.创建数据库 三.数据库相关操作 四.了解内容 一.系统数据库 执行如下命令,查看系统库 show databases; information_schema: 虚拟库,不占用磁盘空 ...

  4. MySQL基础学习之数据库

    创建一个新的数据库 create database 数据库名称; 查看所有数据库 show databases; 删除数据库 drop database 数据库名称

  5. 【9-2】mysql数据库学习01

    mysql安装 下载社区版本MySQL软件包(地址),或者windows installer 接压缩安装包到目标路径 在系统变量Path中加入目标路径 在mysql安装路径下,修改配置文件mysql- ...

  6. MySQL数据库学习: 02 —— 数据库的安装与配置

                             MySQL安装图解 一.MYSQL的安装 1.打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup. ...

  7. 数据库学习之数据库增删改查(另外解决Mysql在linux下不能插入中文的问题)(二)

    数据库增删改查 增加 首先我们创建一个数据库user,然后创建一张表employee create table employee( id int primary key auto_increment, ...

  8. ORACLE数据库学习之数据库的优化

     数据库的优化 概述 影响数据库性能的因素包括:系统.数据库.网络. 数据库的优化包括:优化数据库磁盘I/O.优化回滚段.优化Rrdo日志.优化系统全局区.优化数据库对象. 监控数据库的性能: 在 ...

  9. JavaScript学习01(js概述)

    JavaScript概述 JavaScript历史 要了解JavaScript,我们首先要了解一下JavaScript的诞生. 在上个世纪的1995年,当时的网景公司正凭借其Navigator浏览器成 ...

随机推荐

  1. Windos系统git提交

    一.$ git status   //查看当前项目下所有文的状态,如果第一次,你会发现都红颜色的,因为它还没有交给git/github管理. 二.$ git add .   //(.)点表示当前目录下 ...

  2. 基于 HTML5 Canvas 的 3D 碰撞检测

    这是公司大神写的一个放官网上给用户学习的例子,我一开始真的不知道这是在干嘛,就只是将三个形状图元组合在一起,然后可以同时旋转.放大缩小这个三个图形,点击"Animate"就能让中间 ...

  3. Python学习之--socket续集

    IO多路复用: I/O多路复用指:通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作. 一个很简单的linux例子,select,poll, ...

  4. javascript设计模式——发布订阅模式

    前面的话 发布—订阅模式又叫观察者模式,它定义对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知.在javascript开发中,一般用事件模型来替代传统的发布—订阅模 ...

  5. 闲来无事研究一下酷狗缓存文件kgtemp的加密方式

    此贴为本人原创,转载请注明出处 序 前几天更新了被打入冷宫很久的酷狗,等进入之后就感觉菊花一紧----试 听 居 然 都 要 开 通 音 乐 包(高品和无损)才行了,WTF! 这意味着以前缓存的都听不 ...

  6. cocos2d-x 托付模式的巧妙运用——附源代码(一)

    先来说一下托付模式是什么.以下的内容摘要自维基百科: 托付模式是软件设计模式中的一项基本技巧.在托付模式中,有两个对象參与处理同一个请求.接受请求的对象将请求托付给还有一个对象来处理.托付模式是一项基 ...

  7. 指尖上的电商---(4).net开发solr

    这一节我们看下如何把查询数据放到server端存储,这里我们须要使用client工具来操作与服务端数据打交道,网上有好多基于.NET开发的SOLRclient,我们这里选择easynet.solr,非 ...

  8. gsp页面标签

    gsp--Groovy Servers Pages <g:actionSubmit value=""/> 提交button <g:actionSubmit act ...

  9. 数学之美?编程之美?数学 + 编程= unbelievable 美!

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:Rusu 导语 相信大家跟我一样,偶尔会疑惑:曾经年少的时候学习过的那么多的复杂的数学函数,牛逼的化学方程式,各种物理原理.公式,到底有 ...

  10. 【转载】Java 类加载与初始化

    原文地址:http://www.cnblogs.com/zhguang/p/3154584.html 目录 类加载器 动态加载 链接 初始化 示例 类加载器 在了解Java的机制之前,需要先了解类在J ...