SQL语句

一、概述:

“结构化查询语言(Structured Query Language)简称SQL,SQL语言就是一种对数据库进行操作的语言。

二、SQL的语法注意事项

  1. SQL语句是以分号结尾的。

  1. 语句内不区分大小写。

  1. 像其他语言一样,SQL语言的注释分为单行注释和多行注释,分别为- -(单行注释)或#(单行注释)和/*多行注释*/

三、SQL语句的分类

SQL语句大致分为四类分别是:

  1. DDL:DDL为数据定义语言,其作用是用来定义数据库对象。

  1. DML:DML为数据库操作语言,其作用是对数据库内的数据进行增、删、改,操作。

  1. DQL:DQL为数据查询语言,其作用是用来查询记录(行/元组)。

  1. DCL:DCL为数据控制语言,其作用是创建数据库用户、控制用户访问权限。

四、对SQL语句的解释

(一)DDL——数据库操作

  1. 查询

1>查询所有数据库:

show databases;

2>查询当前数据库:

select database();
  1. 创建

create database [if not exists] 数据库名 [collate 排序规则];
//[if not exists]的作用是如果所命名的数据库存在则不发生任何创建操作,若不存在则创建该数据库
  1. 删除

Drop database [if exists] 数据库名称;
  1. 使用

use 数据库名;

(二)DDL——表操作——查询

  1. 查询当前数据库所有表:

show tables;
  1. 查询表结构

desc 表名;
  1. 查询指定表的建表语句:

show create table 表名;
//此查询为查询详细信息

(三)DDL——表操作——创建

create table 表名(
    字段1 字段1类型 [comment 字段1的注释]    //[comment 字段1的注释]可有可无
    字段2 字段2类型 [comment 字段2的注释]    //[comment 字段2的注释]可有可无
    ......
)[comment 表的注释]    //[comment 表的注释]可有可无

(四)DDL——表操作——数据类型

数据类型可分为:数值类型、字符串类型、日期类型

  1. 数值类型

tiney    小整数类型
smallint    小整数类型
mediumint    大整数型
int    大整数型
bigint    极大整数型
float    单精度浮点型 
double    双精度浮点型
decimal    小数值型
  1. 字符串类型

char    定长字符串
varchar    变长字符串
tinyblod    <=255个字符的二进制数据
tinytext    短文本字符串
blod    二进制形式的长文本数据
text    长文本数据
mmediumblod    二进制形式的中长度文本数据
mediumtext    中长度文本数据
Longblod    二进制形式的极大文本数据
longtext    极大文本数据
  1. 日期类型

data    日期值
time    时间值
year    年份值
datatime    混合日期和时间
timestamp    混合日期和时间值(时间断)

(五)DDL——表操作——修改

  1. 添加字段

解释:对已近建好的表进行添加操作,语法如下:

alter table 表名 ADD 字段名 数据类型 comment "注释内容" 约束; 
  1. 修改数据类型

解释:对已建好的字段的数据类型进行修改操作

alter table 表名 ADD 字段名 类型 comment 约束;
  1. 同时修改字段名和字段数据类型

alter table 表名 change 旧字段名 新字段名 类型;
  1. 删除字段

alter table 表名 Drop 字段名;
  1. 修改表名

alter table 表名 rename to 新表名;

(六)DDL——表操作——删除

  1. 删除表

Drop table [if exists] 表名;
  1. 删除指定的表并且重新创建该表

truncate table 表名;

(七)DML——数据操作——添加

  1. 指定字段添加数据

insert into 表名(字段1,字段2......)value(值1,值2....);
  1. 给全部字段添加数据

insert into 表名 value (值1,值2....)
  1. 指定字批量添加数据

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

4、给全部字段批量添加数据

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

(八)DML——数据操作——修改数据

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

(九)DML——数据操作——删除数据

delete from 表名 [where 条件];

(十)DQL——数据操作——数据查询

select 字段列表
from 表名列表
where 条件列表
Group By 分组字段列表
Having 分组后的条件列表
Order by 排序字段列表
limit 分页列表

(十一)DQL——基本查询

  1. 查询多个字段

select 字段 from 表名;//查询指定的记录
select * from 表名;//全表查询
  1. 设置别名

select 字段1 as '别名1',字段2 as '别名2'
from 表名; 
  1. 去除重复记录

select distinct 字段 
from 表名;

(十二)DQL——条件查询

1.固定的条件查询

select 字段
from 表名
where 条件;

2.范围条件查询

select 字段
from 表名
where 所查字段 between 最小值 and 最大值;
关键字IN的使用
select 字段
from 表名
where 字段1 in(与字段1对应的值,与字段1对应的值);
模糊查询
select 字段
from 表名
where 字段 like '%或 _';  // %代表多个字符;_代表单个字符

(十二)聚合函数

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

注意:null值不参与函数运算

(十三)分组查询

select 字段
from 表名
【where 条件】
group by 分组字段名;//分组依据
【having 分组后过滤条件】;

(十四)排序查询

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

(1)ASC:升序(默认值)

(2)DESC:降序

(十四)分页查询

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

起始索引=(查询页码-1)*显示记录数

(十五)DCL——用户管理

1.查询用户

use mysql;
select*
from user;

2.创建用户

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

//主机名:
//localhost :只允许当前主机访问
//   %    :任意主机访问

3.修改用户密码

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

4.删除用户

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

(十五)DCL——权限控制

  1. 常用权限

All/all privileges    所有权限
select    查询数据
insert    插入数据
update    修改数据
delete    删除数据
alter     修改表/字段
drop      删除数据库/表/视图
create    创建数据库/表

2.查询权限

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

3.授予权限

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

4.撤销权限

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

结语:

以上是一些sql的简单语法,本文涉及sql语言的增删改查等基础语法,以及DCL语言的用户管理和权限控制,权限控制不是很详细,由于时间问题只写了一部分,如果感兴趣可以持续关注本账号后续更新,写作目的是为了可以帮助新手快速了解sql语言的基础部分。

注:本文章若有任何侵权信息,可随时在下方评论区或私信本人进行告知,本人会立即撤回文章进行整改。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

星离~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值