SQL数据库(表的基础操作)

目录

1. MySQL中的表

1.1 创建表

1.2 查看当前有哪些表

1.3 查看表的结构

1.4 删除表

2. MySQL表的增删改查 

2.1 CRUD

2.2 新增(Create) 

2.2.1 单行数据 + 全列插入

2.2.2 多行数据 + 指定列插入

2.3 查询(Retrieve)

2.3.1 全列查询

2.3.2 指定列查询

2.3.3 查询字段为表达式

2.3.4 别名

2.3.5 去重

2.4 排序

2.5 条件查询

where 子句 

2.5.1 基本查询

2.5.2 范围查询

2.5.3 模糊查询 like 

2.5.4 判空 null 

2.6 分页查询

2.7 修改

2.9 删除


1. MySQL中的表

1.1 创建表

命令为: create table +表名 +表的参数[参数名 参数类型 不同参数用,分隔开](id int, name varchar(20));

1.2 查看当前有哪些表

命令为: show tables;

1.3 查看表的结构

命令为:desc + 表名;

 

 1.4 删除表

命令:drop table + 表名;

 

 如何避免删库/删表?

1. 监控报警

2.备份

3. 权限

2. MySQL表的增删改查 

2.1 CRUD

注释:在SQL中可以使用“--空格+描述”来表示注释说明

CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写

2.2 新增(Create) 

语法:

注:mysql默认不支持中文,需要手动设置

2.2.1 单行数据 + 全列插入

语法: insert into  +表名 values +(参数列表);

2.2.2 多行数据 + 指定列插入

语法: insert into +表名 + (指定的列)values + (参数列表);

2.3 查询(Retrieve)

语法:

例子:
 

-- 创建考试成绩表
DROP TABLE IF EXISTS exam_result;
CREATE TABLE exam_result (
 id INT,
 name VARCHAR(20),
 chinese DECIMAL(3,1),
 math DECIMAL(3,1),
 english DECIMAL(3,1)
);
-- 插入测试数据
INSERT INTO exam_result (id,name, chinese, math, english) VALUES
 (1,'唐三藏', 67, 98, 56),
 (2,'孙悟空', 87.5, 78, 77),
 (3,'猪悟能', 88, 98.5, 90),
 (4,'曹孟德', 82, 84, 67),
 (5,'刘玄德', 55.5, 85, 45),
 (6,'孙权', 70, 73, 78.5),
 (7,'宋公明', 75, 65, 30);

2.3.1 全列查询

语法:select * from +表名 ;

2.3.2 指定列查询

语法: select +(指定的列)from +表名 ;

2.3.3 查询字段为表达式

语法: select +(指定的列进行运算) from +表名 ;

2.3.4 别名

为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列的名称,语法:

2.3.5 去重

DISTINCT 使用DISTINCT关键字对某列数据进行去重:

 如果要多列去重那么这两列的对应项必须相等

2.4 排序

使用 order by + 列名 , 有升序和降序两种方式,默认为升序asc

 想要得到降序排列,列名后+desc

 

 2.5 条件查询

 

where 子句 

2.5.1 基本查询

 -- 查询英语不及格的同学及英语成绩 ( < 60 )

SELECT name, english FROM exam_result WHERE english < 60;

 -- 查询语文成绩好于英语成绩的同学

SELECT name, chinese, english FROM exam_result WHERE chinese > english;

 

 -- 查询总分在 200 分以下的同学

SELECT name, chinese + math + english 总分 FROM exam_result WHERE chinese + math + english < 200;

 

 2.5.2 范围查询

between  and

 or

 in

2.5.3 模糊查询 like 

两种写法

1. % 匹配任意多个(包括 0 个)字符

2. _ 匹配严格的一个任意字符

2.5.4 判空 null 

<=>

 isNULL

 查找非空 is nut null

2.6 分页查询

目的:避免一次查询出过多数据

直接 limit + 数字

获取最多不超过limit值的数据量

 可以搭配select的任意功能使用

 搭配offset使用

 2.7 修改

语法: update +表名 set +列名 = 修改值     [WHERE ...] [ORDER BY ...] [LIMIT ...]

 给成绩倒数前3的同学数学成绩-10

 修改后:

2.9 删除

语法:delete from [表名] where [条件];

  • 21
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

DU777DU

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

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

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

打赏作者

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

抵扣说明:

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

余额充值