MySQL数据库学习: 01 —— 数据库的概述
壹 概述
一 了解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 —— 数据库的概述的更多相关文章
- MySQL数据库学习一 数据库概述
1.1 数据库管理技术的发展阶段 人工管理阶段,文件系统阶段,数据库系统阶段. 1.2 数据库系统阶段涉及的概念 数据库(Database DB):是指长期保存在计算机的存储设备上,按照一定的规则组织 ...
- MySQL数据库学习三 数据库对象和基本操作
3.1 数据库和数据对象 1. 系统数据库 information_schema:主要存储系统中的一些数据库对象信息,如用户列表信息.列信息.权限信息.字符集信息和分区信息等. performance ...
- MySQL数据库学习2 - 数据库的操作
一.系统数据库 二.创建数据库 三.数据库相关操作 四.了解内容 一.系统数据库 执行如下命令,查看系统库 show databases; information_schema: 虚拟库,不占用磁盘空 ...
- MySQL基础学习之数据库
创建一个新的数据库 create database 数据库名称; 查看所有数据库 show databases; 删除数据库 drop database 数据库名称
- 【9-2】mysql数据库学习01
mysql安装 下载社区版本MySQL软件包(地址),或者windows installer 接压缩安装包到目标路径 在系统变量Path中加入目标路径 在mysql安装路径下,修改配置文件mysql- ...
- MySQL数据库学习: 02 —— 数据库的安装与配置
MySQL安装图解 一.MYSQL的安装 1.打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup. ...
- 数据库学习之数据库增删改查(另外解决Mysql在linux下不能插入中文的问题)(二)
数据库增删改查 增加 首先我们创建一个数据库user,然后创建一张表employee create table employee( id int primary key auto_increment, ...
- ORACLE数据库学习之数据库的优化
数据库的优化 概述 影响数据库性能的因素包括:系统.数据库.网络. 数据库的优化包括:优化数据库磁盘I/O.优化回滚段.优化Rrdo日志.优化系统全局区.优化数据库对象. 监控数据库的性能: 在 ...
- JavaScript学习01(js概述)
JavaScript概述 JavaScript历史 要了解JavaScript,我们首先要了解一下JavaScript的诞生. 在上个世纪的1995年,当时的网景公司正凭借其Navigator浏览器成 ...
随机推荐
- linux apt-cache使用方法
apt-cache是linux下的一个apt软件包管理工具,它可查询apt的二进制软件包缓存文件.APT包管理的大多数信息查询功能都可以由apt-cache命令实现,通过apt-cache命令配合不同 ...
- require.js模块化写法
模块化 模块就是实现特定功能的一组方法.只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块. 下述两种写法等价 exports 对象是当前模块的导出对象,用于导出模块公有方法和属性. ...
- OSChinaclient源代码学习(1)--Android与Server的交互
这里主要针对"综合"这个选项卡下的"资讯"模块为样例.对核心代码进行解读. 准备工作:參考我的另外一篇博客 http://blog.csdn.net/csp27 ...
- Replace Pioneer
Replace Pioneer(官网:http://www.mind-pioneer.com)是一款专业的文本批量处理软件.仅仅要给定不论什么纯文本文件或文件列表.仅仅要准确设置转换规则.就能得到不论 ...
- php之str_replace具体解释
str_replace (PHP 4, PHP 5) str_replace - Replace all occurrences of the search string with the repla ...
- NHibernate3剖析:Configuration篇之SessionFactory lambda配置
概览 在NHibernate3.0中.SessionFactory的Properties和Cache配置实现了流配置(fluent-configuration)和lambda表达式配置(lambda- ...
- Linux基础:文件查找find
写在前面 在linux的日常管理中,find的使用频率很高,熟练掌握对提高工作效率很有帮助. find的语法比较简单,常用参数的就那么几个,比如-name.-type.-ctime等.初学的同学直接看 ...
- TP3.2.3 接入支付宝
TP3.2.3 接入支付宝 项目接入支付宝支付了,在做这个给我的感觉是,方便 ,毕竟是老马的产品是吧, 话不多说 , 首先我们先找到官方的SDK ,不想去找的小伙伴复制此链接 https://doc ...
- CNN中的卷积操作的参数数计算
之前一直以为卷积是二维的操作,而到今天才发现卷积其实是在volume上的卷积.比如输入的数据是channels*height*width(3*10*10),我们定义一个核函数大小为3*3,则输出是8* ...
- C++11 新知识点
翻了下新版的C++ Primer,新的C++ 11真是变化很大,新增了很多语法特性.虽然已经很久没在写C++了,但一直对这门经典语言很感兴趣的,大致看了看前几章基础部分,总结下新特性备个忘吧.估计也很 ...