自学MYSQL 笔记1(基础篇)

MYSQL不用区分大小写,但在一些关键字尽量大写以便观看

MYSQL所有操作的最后都需要添加  ;  才可运行程序,  ;   是英文输入法的    

通用语法及分类

DDL、DML、DQL、DCL

DDL:定义数据库对象(数据库、表、字段)

数据库操作

查询所有数据库:
show databases;

查询当前数据库:
select database();

创建数据库:
create database[IF NOT EXISTS] 数据库名称[DEFAULT CHARSET字符集][COLLECT 排序规则];

删除数据库:
drop database[IF EXISTS]数据库名称;

使用数据库:
use 数据库名称;

表操作

查询当前数据库所有表:
show tables;

查询表结构:
desc 表名;

查询指定表的建表语句:
show create table 表名;

创建表

create table(

                    字段1  类型[comment 注释],

                    字段2  类型[comment 注释],

                    字段3  类型[comment 注释],

                     …

                    字段 n 类型[comment 注释]

)comment  表注释;
添加字段
alter table 表名 add 字段 类型(长度) [comment 注释] [约束];
修改数据类型
alter table 表名 modify 字段 新数据类型(长度);
删除字段
alter table 表名 drop 字段;
修改表名
alter table 表名 rename to 新表名;
删除表
drop table [IF EXISTS] 表名;
删除表并重新创建该表
turncate table 表名;

由于在控制台操作繁琐,效率不是高,可以从SQL,navicat,datagrip三款软件中选取一款进行操作(本人后续操作实在datagrip中进行,网上均有教程可自行挑选)

DML: 对数据库表中的数据进行增删改

添加数据

指定字段:
insert into 表名 (字段1,字段2,...) vaules (值1,值2,...);
全部字段:
insert into 表名 vaules (值1,值2,...);
批量添加数据:
insert into 表名 (字段1,字段2,...) vaules (值1,值2,...),(值1,值2,...);
insert into 表名 vaules (值1,值2,...),(值1,值2,...);

多个数据之间用英文输入法的  , 分割;  在mysql中  *  代表所有,后续会经常用到

修改和删除数据

修改数据:
update 表名 set 字段1=值1,字段2=值2,...[where 条件];
删除数据:
delect from 表名 [where 条件];

DQL:用来查询数据库中表的记录

语法

select
              字段
from   
              表名
where 
              条件
group by 
              字段
having  
              条件
order by 
              字段 排序方法
limit   
              参数

基础查询

查询多个字段:
select 字段1, 字段2, 字段3, ... from 表名;
select * from 表名;
设置别名:
select 字段1 [ as 别名1 ], 字段2 [ as 别名2 ], 字段3 [ as 别名3 ], ... from 表名;
select 字段1 [  别名1 ], 字段2 [  别名2 ], 字段3 [ 别名3 ], ... from 表名;
去除重复记录:
select distinct 字段 from 表名;

条件查询

语法:
select 字段 from 表名 where 条件;
数据类型:主要有3类,数值类型、字符串类型、日期时间类型。
比较运算符功能
>大于
>=大于等于
<小于
<=小于等于
=等于
<> 或 !=不等于
BETWEEN … AND …在某个范围内(含最小、最大值)
IN(…)在in之后的列表中的值,多选一
LIKE 占位符模糊匹配(_匹配单个字符,%匹配任意个字符)
IS NULL是NULL
逻辑运算符功能
AND 或 &&并且(多个条件同时成立)
OR 或 ||或者(多个条件任意一个成立)
NOT 或 !非,不是

聚合查询

常见的聚合函数:
函数功能
count统计数量
max最大值
min最小值
avg平均值
sum求和
语法:
select 聚合函数(字段) from 表名;

分组查询

语法:
select 字段 from 表名 [where 条件] group by 字段 [ having 分组后的条件 ];

where和having的区别:若未满足where分组条件,则不执行having分组条件;

where不可对聚合函数进行判断,而having可以

排序查询

语法:
select 字段 from 表名 order by 字段1 排序方式1, 字段2 排序方式2;
排序方式:

asc:升序(默认)       desc:降序

分页查询

语法:
select 字段 from 表名 limit 起始索引, 查询记录数;

起始索引 = (页码-1)*记录数

若查询第一页,则可写为limit 记录数;

DQL的编写和执行顺序
-- 编写顺序 select 字段 from 表名 where 条件 group by 字段 having 条件 order by 字段 排序方法 limit 参数
-- 执行顺序  from 表名 where 条件 group by 字段 having 条件 select 字段 order by 字段 排序方法 limit 参数

DCL:用来创建数据库用户、控制数据库的控制权限

管理用户

查询用户:
use mysql;
select * from user;
创建用户:
create user '用户名'@'主机名' identified by '密码';
修改用户密码:
alter user '用户名'@'主机名' identified with mysql_native_password by'新密码';
删除用户:
drop user '用户名'@'主机名';

权限控制

常用权限:
权限说明
ALL, ALL PRIVILEGES所有权限
SELECT查询数据
INSERT插入数据
UPDATE修改数据
DELETE删除数据
ALTER修改表
DROP删除数据库/表/视图
CREATE创建数据库/表
查询用户:
show grants for '用户名'@'主机名';
授予权限:
grant 权限 on 数据库.表名 to '用户名'@'主机名';
撤销权限:
revoke 权限 on 数据库.表名 from '用户名'@'主机名';

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值