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浏览器成 ...
随机推荐
- Undefined index: HTTP_RAW_POST_DATA的解决办法
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; 替换为 $postStr = isset($GLOBALS['HTTP_RAW_POST_DA ...
- PHP 算法
1.首先来画个菱形玩玩,很多人学C时在书上都画过,咱们用PHP画下,画了一半. 思路:多少行for一次,然后在里面空格和星号for一次. ? 1 2 3 4 5 6 <?php for($i=0 ...
- C++ 函数对象
函数对象 c++中函数名后的()称为函数调用运算符.函数调用运算符也可以重载,如果某个类重载了函数调用运算符,则该类的实例就是一个函数对象.函数对象本身并不是很有用,但他们使得算法操作的参数化策略成为 ...
- 【Access2007】解救被阉割的truncate
Access2007使用被阉割的J-SQL语句,语法跟T-SQL语句.也就是寻常最标准的SQL语句一模一样,但就是仅保留insert into,delete,select,update与没太大意义的过 ...
- C++ - 复制容器(container)的元素至还有一个容器
复制容器(container)的元素至还有一个容器 本文地址: http://blog.csdn.net/caroline_wendy C++复制容器(container)元素, 能够使用标准库(ST ...
- <转> Libvirt学习总结
感谢朋友支持本博客.欢迎共同探讨交流.因为能力和时间有限,错误之处在所难免,欢迎指正! 假设转载,请保留作者信息. 博客地址:http://blog.csdn.net/gaoxingnengjisua ...
- redis 报Operation against a key holding the wrong kind of value警告的解决方法
WRONGTYPE Operation against a key holding the wrong kind of value github:https://github.com/antirez/ ...
- 结对编程-四则运算GUI的实现
一.项目成员以及coding地址: 洪灏捷(本人)201321122020 coding地址:https://git.coding.net/hoje/The-GUI-operation.git 白至 ...
- 翻译:Identifier Name标识符命名规则
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- restfull软件架构风格
概念:restfull是一种软件架构风格,实现该风格不需导jar包,但要使用@PathVariable注解:特点:没有参数,没有扩展名优势: 1.安全 2.简洁高效 3.容易被搜索引擎所收录 如何利用 ...