壹 概述

                         一 了解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. 天梯赛 L2-019. 悄悄关注 map

    L2-019. 悄悄关注 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 新浪微博上有个"悄悄关注",一个用 ...

  2. 实战-CentOS6.8配置nfs服务

    如题 #服务端:请自行配置yum源 命令操作:yum install nfs-utils rpcbind #配置文件编辑:vi /etc/exports /data 0.0.0.0 (rw,sync, ...

  3. js 消抖(debounce)与节流(throttle)

    前言 故事发生在与大创的又一次撕逼(日常)中,我方坚定的认为:作为社会主义接班人,节流与消抖的界限是明显的,是不容混肴的,是不可侵犯的!对方辩友坚持地觉得:界限是模糊的,行为是暧昧的,性别是可以忽视的 ...

  4. java日期详解

    [TOC] 一.简介 java中的日期处理一直是个问题,没有很好的方式去处理,所以才有第三方框架的地位比如joda. 文章主要对java日期处理的详解,用1.8可以不用joda. 1. 相关概念 首先 ...

  5. JavaWeb核心技术学习 - 1.从JDBC说起

    作者:java1to3链接:http://www.cnblogs.com/java1to3/著作权归作者所有.未经作者本人同意,禁止一切转载.商业或非商业转载请联系作者获得授权并请注明出处. ・JDB ...

  6. VMWare 虚拟化 Ubuntu 64 (16.04)-- docker 无法链接 pull 镜像 ?(solved)

    背景 根据项目的需要,虚拟化一个Ubuntu OS 来玩 docker,虚拟机选择的是WMWare (VMware-player-14.0.0-6661328); Ubuntu的镜像来自于官网(ubu ...

  7. JAVA入门[20]-Spring Data JPA简单示例

    Spring 对 JPA 的支持已经非常强大,开发者只需关心核心业务逻辑的实现代码,无需过多关注 EntityManager 的创建.事务处理等 JPA 相关的处理.Spring Data JPA更是 ...

  8. ABP入门系列(21)——切换MySQL数据库

    ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 1. 引言 Abp支持MySql已经不是什么新鲜事了,但按照官方文档:Entity Framewo ...

  9. ES6原生Promise的所有方法介绍(附一道应用场景题目)

    JS的ES6已经出来很久了,作为前端工程师如果对此还不熟悉有点说不过去.不过如果要问,Promise原生的api一共有哪几个?好像真的可以难倒一票人,包括我自己也忽略了其中一个不常用的API Prom ...

  10. git 设置和取消代理

    # 设置ss git config --global http.proxy 'socks5://127.0.0.1:1080' git config --global https.proxy 'soc ...