关系型数据库
关系型数据库是建立在关系模型基础上的数据库,简单说,关系型数据库是由多张能互相连接的二维表组成的数据库
优点:1.都是使用表结构,格式一致,易于维护。
2.使用通用的SQL语言操作,使用方便,可用于复杂查询。
3.数据存储在磁盘中,安全。
![](https://img-blog.csdnimg.cn/img_convert/3bb4e4ecc261b242cbf9e065badf9c42.png)
创建数据库,在登录了MySQL的命令窗口中输入create database db1;回车
![](https://img-blog.csdnimg.cn/img_convert/90bd52503ae22af181923470dc7a36d7.png)
在我们之前生成的data文件里就会新生成一个名为db1的数据库文件夹
![](https://img-blog.csdnimg.cn/img_convert/33a41508805721a5195420a30b16b1ec.png)
SQL简介
英文:Structured Query Language,简称SQL
结构化查询语言,一门操作关系型数据库的编程语言
定义操作所有关系型数据库的统一标准
对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方,我们称为“方言”
SQL通用语法
SQL语句可以单行或多行书写,以分号结尾。
MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
注释:·单行注释: -- 注释内容 或 #注释内容(MySQL特有)
·多行注释:/*注释*/
![](https://img-blog.csdnimg.cn/img_convert/37ebb525ccfa28c668161f4ae335eda0.png)
SQL分类
DDL(Data Definition Language)数据定义语言,用来定义数据库对象:数据库,表,列等
DML(Data Manipulation Language)数据操作语言,用来对数据库中表的数据进行增删改
DQL(Data Query Language)数据查询语言,用来查询数据库中表的记录(数据)
DCL (Data Control Language)数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户
![](https://img-blog.csdnimg.cn/img_convert/62f441d606e54658b96d5d47ad0fbc3a.png)
DDL操作数据库
查询:SHOW DATABASES;
创建:创建数据库:CREATE DATABASE数据库名称;
创建数据库(判断。如果不存在则创建):CREATE DATABASE数据库名称;
删除:删除数据库:DROP DATABASE数据库名称;
册除数据库(判新,如果存在则删除):DROP DATABASE IF EXISTS 数据库名称;
使用数据库:查看当前使用的数据库:SELECT DATABASE();
使用数据库:USE 数据库名称;
DDL操作表
创建:Create
CREATE TABLE 表名(
字段名1 数据类型1,
字段名2 数据类型2,
字段名3 数据类型3,
...
字段名n 数据类型n
);
查询:Retrieve
查看当前数据库的表:show tables;
查看当前表的结构信息:desc 表名;
修改:Update
修改表名:alter table 表名 rename to 新的表名;
添加一列:alter table 表名 add 列名 数据类型;
修改数据类型:alter table 表名 modify 列名 新数据类型;
修改列名和数据类型:alter table 表名 change 列名 新列名 新数据类型;
删除列:alter table 表名 drop 列名;
删除:Delete
删除表:drop table 表名;
删除表时是否存在:drop table if exists 表名;
数据类型
MySQL支持多种类型,可以分为三类:数值、日期、字符串
![](https://img-blog.csdnimg.cn/img_convert/3e417fddea748ffad9eb599afda3f7e5.png)
创建案例
需求:设计一张学生表,请注重教据类型、长度的合理性
编号
姓名,姓名最长不超过10个汉字
性别,因为取值只有两种可能,因此最多一个汉字
生日,取值为年月日
入学成绩,小数点后保留两位
邮件地址,最大长度不超过64
家庭联系电话,不一定是手机号码,可能会出现 – 等字符
学生状态(用数字表示,正常、休学、毕业...)
![](https://img-blog.csdnimg.cn/img_convert/4b9bcda203e7db488e329e60024d8302.png)
create table student(
id int,
name varchar(10),
gender char(1),
birthday date,
score double(5,2),
email varchar(64),
tel varchar(15),
status tinyint
);
图形化客户端工具
Navicat
Navicat for MySQL是管理和开发MySQL 或 MariaDB的理想解决方案。
这套全面的前端工具为数据库管理、开发和维护提供了一款直观而强大的图形界面。
![](https://img-blog.csdnimg.cn/img_convert/0cca6fc81a38c7d6c86c71c05da58c66.png)
百度网盘链接:https://pan.baidu.com/s/1wkeetscdGPraXU01-b0E3g?pwd=lja9
提取码:lja9