MySQL学习一

一 、什么是数据库

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语言的分类,并进行了些简单案例的演示,希望能给大家带来些许帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值