一 、什么是数据库
1.1 简介
数据库(Database),按照数据结构来组织,存储和管理数据的仓库,简单的说就是存储数据的仓库。
1.2 数据库管理系统
用来管理数据库的软件系统,常见的有:Oracle、MySql、SQL Server、DB2、SyBase、Access等等。
1.3 什么是MySql
MySql是一个开源的关系型数据管理系统,是由瑞典MySQL AB公司开发的,后来被Oracle公司收购,所以现在MySQL属于Oracle公司。
MySQL的特点:体积小、速度快、成本低、开源,所以被很多的中小型公司使用。
二、什么是SQL语言
2.1 简介
SQL:Structure Query Language(结构化查询语言),SQL被美国国家标准局(ANSI)确定为关
系型数据库语言的美国标准,后来被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。
SQL 是一种标准化的语言,它允许你在数据库上执行操作,如创建项目,查询内容,更新内容,并删除条目等操作。
Create, Read, Update, and Delete 通常称为CRUD操作。
2.2 SQL语言的分类
DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等的创建。
DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据)增删改。
DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别。
DQL(Data Query Language):数据查询语言,用来查询记录(数据)查询。
注意:sql语句以;结尾
2.2.1 DDL 数据定义语言的操作
1、登录数据库
数据库版本:mysql 8 操作界面:命令提示符
以管理员的身份运行命令提示符–》进入到mysql8安装的bin目录中–》启动服务
使用用户名和密码登录数据库 mysql - u root -p 并输入密码
2、查看数据库和表的命令
2.1 show databases;–查看当前所有数据库
2.2 use 数据库名;–切换数据库
2.3 show tables; – 查看当前数据的所有表
2.4 select database(); 显示当前操作的数据库
2.5 select user(); --显示当前登录的用户
3、数据库的创建
3.1.创建新的数据库
语法:create database 数据库名
create database 数据库名 character set 编码方式 – 创建数据库并指定编码方式
3.2 查看数据库
3.3 修改数据库的编码方式
修改数据库的编码方式
语法:alter database 数据库名 character set 编码方式
####### 3.4 删除数据库
语法:drop dadabase 数据库名
3.5 切换数据库
4、对表的操作
4.1 数据库常用数据类型
int:整型
double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为
999.99;默认支持四舍五入
char:固定长度字符串类型; char(10) 'aaa ' 占10位
varchar:可变长度字符串类型; varchar(10) 'aaa' 占3位
text:字符串类型,比如小说信息;
blob:字节类型,保存文件信息(视频,音频,图片);
date:日期类型,格式为:yyyy-MM-dd;
time:时间类型,格式为:hh:mm:ss
timestamp:时间戳类型 yyyy-MM-dd hh:mm:ss 会自动赋值
datetime:日期时间类型 yyyy-MM-dd hh:mm:ss
4.2 表的创建
语法:
CREATE TABLE 表名(
列名1 数据类型 [约束],
列名2 数据类型 [约束],
列名n 数据类型 [约束]
);
注意:表名、列名自定义,多列之间用逗号隔间开,最后一列逗号不用写,约束可有可无
实例:
create table user(
id int,
username varchar(20),
gender char(2),
age int
);
4.3 查看表的字段信息
语法:desc 表名
4.4 修改表名
语法:alter table 旧的表名 rename 新表名
4.5 在表中添加新的列
语法:alter table 表名 add 新的列名 新列的数据类型
4.6 修改列名并可以指定新的数据类型及长度
语法:alter table 表名 change 旧列名 新的列名 新列的数据类型
未改前:
改之后:
4.7 删除表的列
删除列操作,一次只能删除一列
语法:alter table 表名 drop 列名
4.8 查看表的创建细节
语法:show create table 表名
2.2.2 DML 数据操作语言的操作
先把t_user表中的sex列改为age
DML是对表中的数据进行增、删、改的操作。
主要包括:INSERT 、UPDATE、 DELETE
注意:在mysql中,字符串类型和日期类型都要用单引号括起来。
空值:null
1、INSERT 数据的插入操作
注意:列名要与添加的数据类型一致
1.1 根据有几个列名就插入对应几列数据
语法:insert into 表名(列名) values(数据值);
1.2 省掉列名,表示全部列都要插入数据
语法:insert into 表名 values(数据);
1.3 一次插入多行数据
语法:insert into 表名(可写可不写,不写需要每列都要有数据) values(数据),(数据),(数据);
不写列名:
写列名:
2、UPDATE 修改数据操作
语法:UPDATE 表名 SET 列名1=列值1,列名2=列值2 … WHERE 列名=值
注意:where 后面跟的是条件,只要条件符合的数据都会被修改,如果不带条件,则所有数据都会被修改
3、DELETE 删除操作
语法:DELETE FROM 表名 【WHERE 列名=值】
2.2.3 DQL数据查询语言的操作
数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端。
查询返回的结果集是一张虚拟表。查询关键字:SELECT
下面只介绍一些简单的查询
1、查询所有
语法:SELECT * FROM 表名
‘*’:表示查询所有的列
2、带条件的查询
语法:SELECT * FROM 表名 WHERE 列名=列值;
3、查询指定的列
语法:SELECT 列名1,列名2… FROM 表名 [where 列名=列值];
带条件查询:
2.2.4 DCL 数据控制语言的操作
用来定义访问权限和安全级别
1、创建用户
语法:create user 用户名@指定ip identified by 密码;
2、查询当前用户的权限
3、查询某个用户的权限
语法:show grants for 用户名@IP
4、给用户授予权限
1.给用户授予指定数据库的指定权限
语法:grant 权限1,权限2,…,权限n on 数据库名.* to 用户名@IP;
2、给用户授予所有数据库的权限
语法:grant all on . to 用户名@IP
5、撤销用户的权限
撤销用户某项权限
语法:revoke 权限1,权限2,…,权限n on 数据库名. from 用户名@IP;*
6、删除用户
语法:drop user 用户名@IP
总结:本文主要介绍了MySql数据库的一些知识,主要是数据库的SQL语言的分类,并进行了些简单案例的演示,希望能给大家带来些许帮助。