Mysql数据库

目录

1.数据库

2.数据库分类与常见的数据库

3.SQL

3.1.DDL

数据库操作

表操作

3.2.DML

3.3.DQL

3.4.DCL

管理用户

权限控制

4.Mysql常用的数据类型


1.数据库

数据库:是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

数据库管理系统(DBMS):操作和管理数据库的大型软件

SQL:操作关系型数据库的编程语言,定义了一套操作关系型数据库统一的标准


2.数据库分类与常见的数据库

关系型数据库:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。

二维表示例

常见的类型有:

  • MySQL、OracleSQL ServerSQLiteDB2

非关系型数据库

常见的类型有:

  • Redis、MongoDB

非关系型数据库的特性:
1、使用键值对存储数据;
2、分布式;
3、一般不支持ACID特性;
4、非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。

非关系型数据库的优点:
1、无需经过sql层的解析,读写性能很高;
2、基于键值对,数据没有耦合性,容易扩展;
3、存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,而关系型数据库则只支持基础类型。

非关系型数据库的缺点:
1、不提供sql支持,学习和使用成本较高;
2、无事务处理,附加功能bi和报表等支持也不好;


3.SQL

SQL语句,根据其功能,分为四类:DDL、DML、DQL、DCL。

SQL分类
分类解释命令
DDL(数据定义语言)定义和管理数据对象,如数据库,数据表等CREATE、DROP、ALTER
DML(数据操作语言)用于操作数据库对象中所包含的数据INSERT、UPDATE、DELETE
DQL(数据查询语言)用于查询数据库数据SELECT
DCL(数据控制语言)用来管理数据库的语言,包括管理权限及数据更改GRANT、COMMIT、ROLLBACK

3.1.DDL

        数据定义语言,用来定义数据库对象(数据库、表、z字段)。

数据库操作
  • 创建数据库(判断是否存在)

create database  [ if not exists ] 数据库名;

  • 删除数据库

drop database [ if exists ] 数据库名;

  • 查看所有数据库

show databases;

  • 切换数据库

use 数据库名;

---------------------------------------------------------------------

表操作
  • 创建表

create table[ if not exists ] 表名(

        字段1  字段1类型[ comment   字段1注释 ],

        字段2  字段2类型[ comment   字段2注释 ],

        .......

)[ comment 表注释 ];

  • 查看表

desc 表名;

  • 删除表

drop table 表名;

删除指定表,并重新创建该表:

truncate table 表名;

  • 添加字段

alter table 表名 add 字段名 类型(长度)[ comment 注释 ];

eg:

alter table emp add nickname varchar(20) comment '昵称';

  • 修改字段

修改数据类型
alter table 表名 modify 字段名 新数据类型(长度)

修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型(长度)[comment 注释]

eg:
alter table emp  change nickname username varchar(30) comment '用户名';

  • 删除字段

 alter table 表名 drop 字段名;

  • 修改表名

 alter table 表名 rename to 新表名;

---------------------------------------------------------------------

3.2.DML

  • insert ( 添加数据语句 )
  • update ( 修改数据语句 )
  • delete ( 删除数据语句 )
  • 添加数据

给指定字段添加数据

insert into 表名(字段名1,字段名2,...) values (值1,值2,...);

给全部字段添加数据

insert into 表名 values (值1, 值2, ...);

批量添加数据

insert into 表名 (字段名1,字段名2,...) values (值1, 值2, ...), (值1, 值2, ...);

  • 修改数据

update  表名  set  字段名1 = 值1 , 字段名2 = 值2, ...[ where 条件 ];

  • 删除数据

delete from 表名 [ where 条件 ];

---------------------------------------------------------------------

3.3.DQL

  • 查询多个字段

SELECT   [ALL | DISTINCT]

{  * |  table.* | [ table.field1 [ as  alias1] [, table.field2 [as  alias2]][, …]] }

FROM  table_name  [ as  table_ alias  ]

    [ left|out|inner  join  table_name2 ]    #联合查询

  [ WHERE  … ]     #指定结果需满足的条件

  [ GROUP BY …]  #指定结果按照哪几个字段来分组

  [ HAVING …]  #过滤分组的记录必须满足的次要条件

  [ ORDER BY… ]  #指定查询记录按一个或者多个条件排序

  [ LIMIT  {   [ offset,] row_count    |   row_count OFFSET offset   }] ;  #指定查询的记录从哪条至哪条

Mysql-DQL查询语句

---------------------------------------------------------------------

3.4.DCL

        数据控制语言,用来管理数据库用户、控制数据库的访问权限。

管理用户

1.查询用户

select * from mysql.user;

2.创建用户

create user  '用户名'@'主机名'  identified by '密码';

---------------------

主机名可以使用%通配

3.修改用户密码

alter  user   '用户名'@'主机名'  identified  with mysql_native_password by  '新密码' ;

4.删除用户

drop user '用户名'@'主机名' ;

权限控制

1.查询权限

show grants for  '用户名'@'主机名' ;

2.授予权限

grant  权限列表  on 数据库名.表名 to '用户名'@'主机名';

3.撤销权限

revoke  权限列表  on 数据库名.表名 from '用户名'@'主机名';

---------------------------------------------------------------------

4.Mysql常用的数据类型

列类型
规定数据库中该列存放的数据类型

  • 数值类型
  • 字符串类型
  • 日期和时间型数值类型
  • NULL值

数值类型

类型说明存储需求
tinyint非常小的数据1字节
int标准整数4字节
bigint较大的整数8字节
float单精度浮点数4字节
double双精度浮点数8字节
decimal字符串形式的浮点数decimal(m, d) m字节 保留d位小数

字符串类型

类型说明存储需求
varchar可变字符串变长度
text文本2的16次方–1字节

日期和时间型数值类型

类型说明
DATEYYYY-MM-DD
DATETIMEYY-MM-DD hh:mm:ss
TIMESTAMPYYYYMMDDhhmmss格式表示的时间戳

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愚人钊呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值