原创

SQL基本语法

SQL是访问和处理数据库的计算机语言,用于存取数据以及查询、更新和管理关系数据库系统

SQL从功能上可以分为3部分:数据定义、数据操纵和数据控制

这篇文章只介绍一下数据定义和数据操纵

数据定义(DDL)
数据定义语言是用的定义和操作数据库对象
MYSQL修改表结构
查看表结构
describe + 表名:  显示数据库表结构
添加列:
   在表的最后追加到:address:alter table students add add 添加的字段名 char(60);
修改列:
mysql> alter table friendlink change pictureaddress pictureaddress varchar(255);
删除列
基本形式:alter table 表名 drop 列名称;
重命名表
基本形式alter table 表名 rename 新表名;
创建
创建数据库
create database 数据库名;

创建表


create table 表名{
列名1 数据类型1,
列名2 数据类型2,
列名3 数据类型3,
...
列名n 数据类型n,
约束...
};
删除
删除数据库

drop database 数据库名;
判断数据库是否存在,存在才执行删除
drop database if existx 数据库名;
删除表
drop table 表名;
判断表是否存在,存在才执行删除
drop table if exisex 表名;

修改

修改数据库的字符集
alter database 数据库名 character set 字符集名;

修改表名


alter table 表名 rename to 新表名;

修改表的字符集

alter table 表名 character set 字符集名;

往表里补添一列

alter table 表名 add 列名 数据类型;

修改列名及数据类型

alter table 表名 change 列名 新列名 新数据类型;

修改列名的数据类型

alter table 表名 modify 列名 新数据类型;

删除指定一列

alert table 表名 drop 列名;

查询

查询所有数据库的名称

show databases;

查询指定数据库的创建语句

show create database 数据库名;

进入已有数据库

use 数据库名;

查询指定数据库中所有表的名称

show tables;

查询表结构

desc 表名;

数据操纵(DML)
数据操纵是SQL语言使用最多和最重要的部分,
作用于数据库中的表里的数据,
作为后端程序员主要的工作就是使用SQL将各种数据与数据库交互

数据操纵主要分为四个部分,分别是增加新数据,
删除废弃数据,修改旧数据和使用最多的查询各种条件的
期望数据,我们将这部分简称为增删改查

增(insert into)

语法格式

语法1:这种方式按照表的列名固定顺序添加一行数据,
values后面括号里的数据必须与数据库的列全部对应

insert into 表名 values(值1, 值2, 值3, ...);
语法2:这种方式按照表名后面括号里的数据顺序对应values后面括号里的值添加数据,
可以不按表的顺序,也可以不写全所以列,未添加的列的值按默认值或空值添加
insert into 表名(列名1, 列名3, 列名4) values(值1, 值3, 值4);

删(delete)

删除数据是最简单的语句了,只需要指定表名和查询条件就行

语法格式

delete from 表名 where 条件;

改(update)

修改数据只需要指定自己需要修改的几个列名,按条件查询出对应数据,并将值设置好就可以了

语法格式


update 表名 set 列名1 = 值1, 列名2 = 值2, 列名5 = 值5, ... where 条件;

查(select)

查询数据是数据操纵的重点难点,主要难在判断条件上

下面语句中的 * 代表查询所有列,在实际项目中我们会将星号替换成
我们实际需要用到的几个列名,多条列名用英文逗号分隔,
这样有助于提高查询速度

基本语法

select * from 表名 where 条件;

模糊查询

模糊查询用于不确定具体查询条件是什么的时候使用,用于匹配字符串,比如以某个字符开头,以某个字符结尾或是否包含某个字符

和基本语法对比,模糊查询将判断符号换成了 like

下面语句以 模糊格式 代替这部分语句

举例

以字符a开头:a%
以字符a结尾:%a
包含a:%a%

select * from 表名 where 列名 like 模糊格式;
排序查询

升序

select * from 表名 where 条件 order by 列名 asc;
降序

select * from 表名 where 条件 order by 列名 desc;
条件
这里单独将一下查询条件

1.基本条件

使用 > >= < <= = 等逻辑运算符判断

比如判断年龄大于等于18岁

age >= 18
2.范围条件

语法 bentween 起点值 and 结束值

比如判断分数在60到75之间

score bentween 60 and 75
3.单点指定

语法 in(值1, 值2, 值3, ...)

可以指定多个值,比如查询学号为15,35,46,47几位同学

sid in(15, 35, 46, 47)
聚合函数
上面说到查询语句里的 * 可以替换成指定列名,其实还可以替换成SQL语言提供的内置聚合函数实现特定功能

count(列名) 统计当前条件下查询出的数据的数量
sum(列名) 求某一列值的总和
max(列名) 求某一列的最大值
min(列名) 求某一列的最小值
avg(列名) 求某一列的平均值
下面几个用于语句最后

distinct 去冗余
group by 分组
having 分组筛选
总结
SQL用于操作数据库,是使用数据库的必备技能,上面只是介绍了适用于所有数据库的通用语法,不同数据库的个别语法有少许差异,需要我们进一步学习运用
博客参考于: https://blog.coor.top/archives/20073110
作者:弥枳
开发者手册
  • 泽泽泽
  • 2020-11-05 09:55:27.859

评论区