今天开始学mysql数据库,为什么要学这个呢,因为数据库可结构化存储大量的数据信息,方便用户进行有效的检索和访问。数据库可有效地保持数据信息的一致性、完整性、降低数据冗余。数据库可满足应用的共享和安全方面的要求,把数据放在数据库中在很多情况下也是出于安全的考虑。数据库技术能够方便智能化地分析,产生新的有用信息。这些都是数据库的应用,所以学习数据库是有必要的,这里主要使用mysql数据库,因为它有免费的社区版,并且mysql市场占比也是比较高的,在学习之前有必要了解三个有关数据可以的概念
1.数据库相关概念
主要是数据库,数据库管理系统,SQL
数据库(DataBase):是存储数据的仓库,数据是有组织的进行存储
数据库管理系统(DataBase Management System):是操纵和管理数据库的大型软件
SQL(Structured Query Language):操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准
主流的关系型数据库有很多,比如Oracle 、Mysql、 Microsoft SQL Server等,但它们都是使用SQL语言来进行操作
这里我们使用mysql数据库,安装过程自行百度即可
2.数据模型
(1)关系型数据库(RDBMS)
概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库
什么是二维表呢,指的就是由行和列组成的表,类似于excel表格,基于二维表存储数据的数据库就是关系型数据库,否则就是非关系型数据库。、
特点:使用表存储数据,格式统一,便于维护;使用SQL语言操作,标准统一,使用方便
(2)数据模型
Mysql是关系型数据库,基于二维表进行数据存储,结构如下:
我们可以通过mysql客户端连接数据库管理系统,然后通过它操作数据库
使用SQL语句,通过数据库管理系统操作数据库,以及数据库中的表结构和数据
一个数据库服务器中可以创建多个数据库,一个数据库中也可以包含多个表,一张表也可以包含多行记录
3.SQL(Structured Query Language)
是结构化查询语言,操作关系型数据库的语言,定义了一套操作关系型数据库统一标准
3.1 SQL通用语法
在学习具体的语法之前,先了解其通用语法。
(1)SQL语句可以单行或者多行书写,用分号结束。
(2)SQL可以使用空格或者缩进来增强可读性。
(3) Mysql数据库的SQL语句不区分大小写,关键字最好大写。
(4)注释:单行:-- 注释内容 或 # 注释内容
多行:/*注释内容*/
3.2 SQL分类
主要分为4类:DDL、DML、DQL、DCL。
今天先学习DDL,循序渐进
3.3 DDL(Data Definition Language)
数据定义语言,用来定义数据库对象(数据库,表,字段)
3.3.1 数据库操作
(1)查询所有数据库
show databases;
(2)查询当前数据库
select database();
(3)创建数据库
create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];
比如创建一个itcast 数据库,使用数据库默认的字符集
create database itcast;
在 同一个数据库服务器中,不能创建两个名称相同的数据库,否则会报错,可以通过if not exists 参数来解决问题,数据库不存在则创建,存在就不创建
create database if not exists it;
再者,创建一个hellomysql数据库,指定字符集
create database hellomysql default charset utf8mb4;
(4)删除数据库
drop database [if exists] 数据库名;
如果删除一个不存在的数据库,会报错,所以加上if exists参数,存在才会执行删除操作
(5)切换数据库
use 数据库名;
如果想要操作某一个数据库下的表时,就要通过该指令,切换到对应的数据库下,否则不能进行操作。比如:
use itcast;
3.3.2 表操作-查询创建
(1)查询当前数据库所有表
show tables;
比如:
use sys;
show tables;
(2) 查看指定表结构
desc 表名;
通过这条指令,我们可以看到指定表的字段及其类型,是否可以为NULL。是否存在默认值等信息。
(3)查询指定表的建表语句
show create table 表名;
这条语句主要是看建表语句的,但是部分参数我们在建表时,并没有指定也能查询到,因为这部分是数据库的默认值,比如:存储引擎、字符集等。
这里的表格是我提前创建好的,马上就会教大家如何创建一个表。
(4)创建表结构
最后一个字段后面没有逗号 。
比如我们创建下面一张表:
代码如下,暂且先不用知道varchar是什么数据类型
create table tb_user(id int comment '编号',name varchar(50) comment '姓名',age int comment '年龄',gender varchar(1) comment '性别'
) comment '用户表';
今天的mysql学习就先到这了,下集再见。