渗透测试-SQL语句

sql语法.note
1.mysql -u root -p
2.查询当前数据库用户: select user();
3.查询当前路径: select @@basedir;
4.查询所有数据库: show databases;
5.选择一个数据库; use + 数据库名;
6.查询所有表名: show tables;
7.创建一个数据库 : create database 数据库;
8.删除一个数据库:drop database 数据库名称;
9.创
1.查询当前数据库版本 : select version();建一个表: create table 表名(字段名 数据类,字)
10.查询一个表结构: desc 表名
11. 查询当前系统: select @@global.version_compile_os;
常见sql 语句
12.查询当前数据库 select database();
12.内置表查询数据库

slect * from learn.student;
存放数据库的字段:schemata
存放表的字段:tables
存放字段的字段:columns
mysql 5.0以及以上版本 和 mysql 5.0以下版本的区别
1.mysql 5.0以下没有information_schema这个内置数据库
1.1为表中所有字段增加数据
insert 语句中指定所有字段名
语法: insert into 表名(字段1 ,字段2, …) values (值一,值二,…);
举例 insert into student(id,name,grade) values(1,‘zhangsan’’,98);
insert语句其他写法
语法: insert into 表名
set 字段名1=值1【,字段名2=值2,…】
举例: insert into student
set id =4,name=‘zhaoliu’,grade=72;

删除部分数据
即删除指定的部分数据,需要使用where子句来指定删除记录的条件
举例:删除studen表中的id值为7的记录
命令:delete from student
where id=6
另一种方法——TRUNCATE
语法:TRUNCTE[TABLE]表名
举例:TRUNCATE TABLE student; 即可删除student表
修改数据
更新数据指对表中现存的数据进行修改
语法 update 表名
set 字段名1=值1,[,字段名2=值2,…]
[where 条件表达式]
update 更新部分数据
指更新指定表中的指定记录,使用 where字句来指定。
举例:将student表中id值为=记录,将其那么字段的值改为‘caocao’,grade字段值改为50
命令: update student
set name=‘caocao’ ,grade=50
where id=1;
查找数据
1.带 in的关键字查询
in关键字用于判断某个字段的值是否在指定集合中,若在,则该字段所在记录会被查询出来,
语法select * 字段名1,字段名2,
from 表名 where 字段名 【not】 in (元素1 ,元素2,…)
举例:查询student2表中id值为1,2,3的记录
命令:select * from student2 where id in (2);
2.带 between and 关键字的查询
between and 用于判断某个字符的值是否在指定范围之内, 若在,则该字符所在的记录会被查出来,反而不会。
语法:select *{字段名1,字段名2,…]
from 表名
where 字段名【not】 between 值1 and 值2;
举例: 查询student2表中id值在2-5直接的人的id和name
select id,name from student where id berween 2 and 5;

3.空值查询
在数据表中有些值可能为空值(null),空值不同于0,也不同于空字符串,需要使用is
null 来判断字段的值是否为空值。
语法: select * 字段1,字段2,…
from 表名
where 字段名 is 【not】 null
举例: 查询student2表中gender值为空值的记录。
命令: select * from student2 where gender is null;
注意: is not null 关键字用来查询字段不为空值的记录。
4.distinct 关键字的查询
很多表中存在某些字段的数据存在重复的值,可使用distinct关键字来过滤重复的值,只保留一个值。
语法:select distinct 字段名 from 表名;
举例: 查询student2表中gender字段的值,结果中不允许出现重复的值
命令:select distinct gender from student2;
5。带有like关键字的查询
select *|字段1,字段2, …
from 表名
where 字段名 【not】like ‘匹配字符串’;
(1)百分号(%)通配符
匹配任意长度的字符串,包括空字符串。例如,字符串“c%”匹配以字符c开始,任意长度的字符串,‘ct’,‘cut’,‘current’等;字符串‘c%g’表示以字符开始,以g结尾的字符串;
举例:查询student2表中name字段以字符"s"开头的人的id,name
命令: select id,name from student2 where name like"s%";
(2)下划线(_)通配符
下划线通配符只匹配单个,若要匹配多个字符,需要使用多个下划线。不能有空格

带or关键字的多条件查询

创建表 引号为esc 下面的··波浪号下面的符号
CREATE TABLE student2(
    id INT(3) PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(20) NOT NULL,
    grade FLOAT,gender CHAR(2)
);

CREATE TABLE user(
id INT PRIMARY KEY AUTO_INCREMENT, – 编号
name VARCHAR(20) NOT NULL,-- 用户名
birthday DATE,-- 生日
tel CHAR(11),-- 电话
– 枚举类型,该列的值只能取男和女
sex ENUM(‘男’,‘女’),
– 性别 – 最后一列不能加“,”。
money INT – 账户余额
);
聚合函数
count()函数:统计记录的条数
语法: select count()from 表名
举例: 查询student2表中一共有多少条记录
命令:select count(
)from student2

order by 对查询结果进行排序
select 字段名1,,字段2
from 表名
order by 字段名 ASC/DESC
group by 字段1,字段2, 【having 条件表达式】;

查询第几排,后几个limit 1,3
例:select * from student2 order by id desc limit 1,3;

使用limit 限制查询结果的数量
语法:select 字段名,
from 表名
limit [offset,]记录数
在此语法中,Limit后面可以跟两个参数,第一个参数‘offset’

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值