一、了解SQL
要想深刻学习一门课程,先让我们从它的的基础知识来简单的认识一下它。
数据库基础知识
- **数据库(database):**保存有组织的数据的容器(通常是一个文件或一组文件)
- 数据库管理系统(DBMS): 要区分数据库与DBMS,数据库是通过DBMS创建和操纵的容器,是数据库软件,我们使用的就是DBMS。
- **表(table):**表是一种结构化的文件,用来存储某种特定类型的数据
- **模式(schema):**关于数据库和表的布局及特性的信息
- **列(column):**表中的一个字段。所有表都是由一个或多个列组成的。不同属性应该是不同的列。例如:学生,姓名,学号,成绩应该都是不同的列。
- **数据类型(datatype):**所容许的数据的类型。每个表都有相应的数据类型,限制该列存储的数据
- 行(row): 表中的数据是按行存储的,所以行表中的一个记录
- **主键(primary key):**一列或者一组列,其值可以唯一区分表中的每个行,例如:学生的学号,是唯一的。
- 任意两行都不具有相同的主键值
- 每个行都必须具有一个主键值(主键不允许NULL值)
SQL基础知识
- **SQL(Structured Query Language):**结构化语言,是一种专门与数据库通信的语言;
- SQL的特点:
- SQL不是局限于哪一个DBMS,几乎所有的DBMS都支持SQL
- SQL语言简单,语句由描述性很强的单词构成
- 灵活使用其语言元素,可以进行复杂和高级的数据库操作
二、MYSQL简介
MySQL就是一种DBMS,有很多DBMS,为什么会选择MySQL作为我们学习的DBMS。当然是因为MySQL有很多优点(这是废话,你不好,我还爱你嘛?!!)。让我们带着是什么,为什么,怎么用的疑问来开始我们的学习。
MySQL是什么
为什么选择MySQL,让我们来看一下他的特点:
- 成本——MySQL是开源的,可以免费使用
- 性能——MySQL执行非常快
- 可信赖——MySQL被Oracle收购,所以不用担心安全性和持续性
- 简单——MySQL非常容易安装和使用
客户机—服务器软件
DBMS分为两类:
- 基于共享文件系统的DBMS:Microsoft Access和FireMaker
- 基于客户机-服务器的DBMS:MySQL、Oracle和Microsoft SQL Server
客户机-服务器分为两个部分:
- 服务器:负责所有数据访问和处理的一个软件,运行在称为数据库服务器的计算机上,与数据文件打交道的只有服务器软件,数据的增删改查都是由服务器软件完成;
- 客户机:是与用户打交道的软件。用户通过客户机将请求给服务器软件;
- 服务器软件为MySQL DBMS,可在本地安装的副本上运行,也可连接到运行在你具有访问权的远程服务器上的一个副本
- 客户机可以是MySQL提供的工具、脚本语言(Perl)、Web应用开发语言、程序设计语言
三、MySQL的使用
连接
连接成功
## 显示数据库
选择数据库
显示数据库内的表
显示可用表的列表
show ....from+表明
=describe+表名
其他语句
- show status:用于广泛的服务器状态信息
- show create database:显示创建特定的数据库
- show create table:显示表的MySQL语句
- show grants:用于授予用户(所有用户或特定用户)的安全权限
- show errors:显示服务器错误
- show warnings:显示服务器警告信息