赞
踩
目录
命令为: create table +表名 +表的参数[参数名 参数类型 不同参数用,分隔开](id int, name varchar(20));
命令为: show tables;
命令为:desc + 表名;
命令:drop table + 表名;
如何避免删库/删表?
1. 监控报警
2.备份
3. 权限
注释:在SQL中可以使用“--空格+描述”来表示注释说明
CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写
语法:
注:mysql默认不支持中文,需要手动设置
语法: insert into +表名 values +(参数列表);
语法: insert into +表名 + (指定的列)values + (参数列表);
语法:
例子:
- -- 创建考试成绩表
- 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);
语法:select * from +表名 ;
语法: select +(指定的列)from +表名 ;
语法: select +(指定的列进行运算) from +表名 ;
为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列的名称,语法:
DISTINCT 使用DISTINCT关键字对某列数据进行去重:
如果要多列去重那么这两列的对应项必须相等
使用 order by + 列名 , 有升序和降序两种方式,默认为升序asc
想要得到降序排列,列名后+desc
-- 查询英语不及格的同学及英语成绩 ( < 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;
between and
or
in
两种写法
1. % 匹配任意多个(包括 0 个)字符
2. _ 匹配严格的一个任意字符
<=>
isNULL
查找非空 is nut null
目的:避免一次查询出过多数据
直接 limit + 数字
获取最多不超过limit值的数据量
可以搭配select的任意功能使用
搭配offset使用
语法: update +表名 set +列名 = 修改值 [WHERE ...] [ORDER BY ...] [LIMIT ...]
给成绩倒数前3的同学数学成绩-10
修改后:
语法:delete from [表名] where [条件];
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。