SQL语句类型分类以及常用语句语法

一、sql语句的几种类型

  • DDL(Data Definition Language)
    DDL即数据定义语言,常用于定义数据库结构和对象,具体操作如创建、修改、删除数据库、表、列索引等。常用的DDL语句有create、drop、alter。
  • DML(Data Manipulation Language)
    DML即数据操作语言,用于对数据库的表中的数据进行增删改的操作。常用的DML语句有insert、delete、update。
  • DQL(Data Query Language)
    DQL即数据查询语言,常用于对数据库的表中的数据进行查询。但凡带有select关键字的都是数据查询语言。
  • DCL(Data Control Language)
    DCL即数据控制语言,常用于控制用户对于数据库中数据的访问权限。常用的DCL语句有授权grant、取消权限revoke。
  • TCL(Transaction Control Language)
    TCL即事务控制语言,用于控制数据库中的事务操作。常用的事务控制语句有事务提交commit、事务回滚rollback。

二、常用sql语句汇总

[]中的内容为非必写的内容、{}中的内容为可选择的、数据库名或表名或字段名最好使用``反引号包裹以防写成了关键字。

mysql -u 用户名 -p 用户密码 --在命令提示符窗口连接mysql

update mysql.user
set authentication_sering = password('密码')
where user = '用户名' and host = 'localhost' --修改用户密码

show databases; --查看所有数据库

use `数据库名`; --切换到指定的数据库

show tables; --查看数据库中的所有表

create database [if not exists] `数据库名`; --创建默认配置的数据库
 
drop database [if exists] `数据库名`; --删除指定数据库

show create database `数据库名`; --查看创建数据库的语句

create table [if not exists] `表名` (
	`主键` int not null auto_increment comment '描述信息'; --auto_increment设置主键自增
	`字段名1` 类型 约束;
	`字段名2` 类型 约束;
	`字段名3` int not null defalut '默认值';
	primary key(`主键`)
	) engine = innodb default charset = utf8 --定义一张简单的表

show create table `表名`; --查看创建数据库表的语句

desc `表名`; --查看表结构

alter table `旧表名` rename to `新表名`; --修改表的名字
alter table `表名` add `字段名1` 类型[, `字段名2` 类型, ...]; --向表中添加一个或多个新字段
alter table `表名` add constraint `字段名` 约束; --向指定字段添加约束
alter table `表名` modify constraint `字段名` 新约束; --修改指定字段的约束
alter table `表名` drop constraint `字段名`; --删除指定字段的约束
alter table `表名` drop `字段名`; --删除指定字段

alter table `表名` 
add constraint `外键名` 
foreign key (`指定外键字段`) 
references `被关联表名` (`被关联字段(多为被关联表主键)`); --向表中添加外键约束

drop table [if exists] `表名`; --删除指定表

insert into `表名`(`字段1`, `字段2`,...)
values(1,2,...); --向表中插入数据

update `表名`
set `字段1` =[, `字段2` =,...]
where 条件; --修改指定表中的数据

delete from `表名`
where 条件; --删除表中数据

select `字段1`[, `字段2`,...]
from `表名`
[where 条件]; --查询指定表中的数据(简单查询)

{`字段名`|`表名`} as `新名称`; --修改字段名或表名

select distinct `字段`
from `表名`
where 条件; --查询指定表中数据并去重

select *
from `表名`
where `字段` is null; --查询指定字段为null的数据

select *
from `表名`
where `字段` is not null; --查询指定字段不为null的数据

select *
from `表名`
where `字段` between a and b; --查询指定字段的值在a和b之间的数据

select *
from `表名`
where `字段` is null; --查询指定字段为null的数据

select *
from `表名`
where `字段` like '指定字符'; --查询指定字段能够成功匹配指定字符的数据,like多结合%或_使用,%匹配0或多个任意字符,_匹配一个任意字符

select *
from `表1名`
[inner] join `表2名`
on 连接后的过滤条件; --表的内连接

select *
from `表1名`
{left|right} join `表2名`
on 连接后的过滤条件; --表的外连接,查询出的数据包含左或右表中所有的数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值