本文开始整理M有SQL基础相关的重点内容,旨在快速掌握数据库及数据库语言相关知识。
本系列主要参考:《MySQL必知必会》
一、数据库基本概念:
数据库(database):保存有组织的数据的容器,通常是一个文件或一组文件。它并非DBMS(数据库管理系统,一种数据库软件),但是它是通过DBMS创建和操纵的容器。
表(table):一种结构化的文件,用来存储某种特定类型的数据。不同类型的数据或不同的清单应存放在两个表中,方便检索和访问。相同数据库中表名具有唯一性,但不同数据库中可以使用相同的表名。
模式(schema):关于数据库和表的布局及特性的信息。
列(column):表中的一个字段。所有表都是由一个或多个列组成的。
数据类型(datatype):每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据。
行(row):表中的一个记录。表中的数据是按行存储的。
主键:其值唯一标识表中每个行的一列(或一组列)。主键中只能使用不允许NULL值的列。允许NULL值的列不能作为唯一标识。
关于主键的最好习惯:
1、设计数据库时应尽量保证创建的每个表具有一个主键,以便于以后的数据操纵和管理。
2、不更新主键列的值。
3、不重用主键列的值。
4、不在主键列中使用可能会更改的值。
外键:某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系。
若建立两个表vendors、products,分别存储供应商信息和产品信息,其中,定义vendors表包含所有供应商信息,每个供应商占一行,每个供应商具有唯一的标识(可以是供应商ID或任何其他唯一值),此标识称为主键;定义products表只存储产品信息,它除了存储供应商ID外不存储其他供应商信息,则vendors表的主键称为products的外键。
SQL:一种专门用来与数据库通信的结构化查询语言。几乎所有重要的DBMS都支持SQL,但DBMS之间的SQL并不完全相同。
二、MySQL简介
- MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品,最流行的关系型数据库管理系统之一。它具有开放源码、免费、执行快、可信赖、使用简单等优点。
MySQL、Oracle以及Microsoft SQL Server等数据库是基于客户机—服务器的数据库。服务器软件为MySQL DBMS,客户机一般为MySQL提供的工具(命令行、MySQL Administrator、MySQL Query Browser)、脚本语言(Perl)、Web应用开发语言(ASP、JSP、PHP等)、程序设计语言(C、C++、Java等)
DBMS可分为两类:一类为基于共享文件系统的DBMS(包括Microsoft Access和FileMaker等),另一类为基于客户机—服务器的DBMS。
- 基于共享文件系统的DBMS一般用于桌面用途,通常不用于高端或更关键的应用。
- 基于客户机—服务器的DBMS应用分为两个不同的部分:客户机是与用户打交道的软件;服务器部分是负责所有数据访问和处理的一个软件。这个软件运行在称为数据库服务器的计算机上。
三、MySQL的一些基本命令
功能:选择数据库(使用数据库操作之前)
输入:USE 数据库名;功能:显示可用的数据库列表
输入:SHOW DATABASES;功能:显示一个数据库内可用表的列表
输入:SHOW TABLES;功能:对给定的表中的每个字段返回一行,行中包含字段名、数据类型、是否允许NULL、键信息、默认值以及其他信息
输入:SHOW COLUMNS FROM 表名 \ DESCRIBE 表名功能:用于显示广泛的服务器状态信息
输入:SHOW STATUS;功能:显示创建特定数据库的MySQL语句
输入:SHOW CREATE DATABASE;功能:显示创建特定数据表的MySQL语句
输入:SHOW CREATE TABLE;功能:用于显示授予用户(所有用户或特定用户)的安全权限
输入:SHOW GRANTS;功能:用于显示服务器错误或警告消息
输入:SHOW ERRORS、SHOW WARNINGS功能:显示允许的SHOW语句
输入:HELP SHOW;