2019-10-10:渗透测试,基础学习,mysql语法基础,笔记
mysql常用命令
mysql -u用户名 -p,登录方式也称为,二进制方式
exit 退出mysql
查看mysql版本
select version();
查看mysql所有数据库
show datebases;
大于5.0版本的mysql都会有information_schema,存放当前所有数据库信息,如登录信息,权限设置,安全设置等
选择某个数据库
use 库名;
修改密码
知道原密码修改,mysql -u -p进入mysql
低版本 5.0 5.1 5.5等有user表下有password字段的 update mysql.user set password=password('新密码') where user='root' and host='127.0.0.1';
flush privileges;
高版本5.7 8.0,
update mysql.user set authentication_string=password('新密码') ;
alter user "root"@"losthost" identified by '新密码';
flush privileges;
mysqladmin -u root -p password "新密码" ,输入老密码确认
忘记密码修改
找到Mysql配置文件,找到[mysqld]加上,skip-grant-tables,跳过密码验证,重启服务,直接免密码登录
update mysql.user set password=password('新密码')where user = '用户名';
mysql数据库中添加账户并授权
create user '用户名'@'localhost主机ip' identified by '密码';
主机ip,允许哪个主机可以登录
localhost 本机登录
% 任意主机可登录
ip地址,只能ip地址下的账户
grant 权限 on 库名.表名 to ‘用户名’@‘主机ip’;
权限,inset drop update select,all所有权限
库名.表名,‘*’表示所有的数据库以及所有的表
配置文件bind 127.0.0.1需要注释掉,或根据需求进行修改
数据库允许外连
update user set host ='%' where user ='root' and host = 'localhost';
flush privileges;
mysql常用函数
version(); 查看mysql版本
user(); 当前登录的用户
select @@version;查询版本
select @@hostname;查询主机名
select @@tmpdir;查询临时目录
select @@basedir;数据库服务所在路径
select @@datadir;数据存放的位置
mid(被截取的字符串,开始索引,截取长度)
ord()显示字符的ascii码,多个字符显示的为首字符
concat()拼接字符串
concat_ws(分隔符,xxx)使用分隔符将字符串将每个字符拼接
group_concat()分组并拼接
sleep(1)让数据库等待时间
数据库文件类型
opt 数据库编码
frm 存储表结构,比如 表头信息
myd 存储数据
myi 当前数据的配置和索引信息
sql语法
create database 库名;
mysqladmin -uroot -proot create 库名
删除数据库
drop database 库名;
mysqladmin -uroot -proot drop 库名
数据库数据类型
int 整型
bigint 大整形
float 浮点型
date 日期
time 时间
char 字符
varchar 变长字符
text 文本
timestamp 时间戳
double 双精度浮点型
bit 比特
tinyint 0/1
创建表
create table 表名(字段名 数据类型 primary key auto_increment,字段2 数据类型);
primary key 设置主键,表中需要一个主键,主键具有唯一性,能表示某个人或事,通过该主键可以确定一个记录
char varchar必需有值,不允许为空后边加 Not null
auto_increment 自增
charset=utf8 设置编码
default charset 设置编码
删除表
drop table 表名;
查询字段
show create table 表名;快速查看表中字段
desc 表名;
alter 表名 add primary key(字段) 主键名不能为空,后续设置主键
插入数据
insert into 表名(字段名1,字段名2) value(数据1,数据2)
自增的主键可以不插入数据的
查询数据
select 字段名 from 表名 where 字段名=指定值;一个条件
select 字段名 from 表名 where 字段名=值 and 字段2=值2 多条件
限制查询
limit a,b (ab均为数字,a表示记录的索引,b表示记录的长度也就是个数) limit 1默认从0开始选择a个记录
更新数据
update 表名 set 字段1=值1,字段2=值2;这有更新会把写的字段一列全改了,一般不这有做,需要有条件的修改
update 表名 set 字段1=值1 where 条件;
删除表中数据
delect from 表名;慎用
like字句
通配符
%任意字符
_单个字符
select * from 表名 where 字段名 like '%x' 匹配查询,表示字段下任意有x字符的记录都查找到
select * from 表名 where 字段 like 'x',匹配查询,表示字段下只有x的记录被查到
select * from 表名 where 字段 like'__x' 匹配查询,表示字段下任意有2位字符最后一位是x的记录被查到
union联合查询
查询语句 1 union 查询语句2,将他们查询出来的结果放一张表中显示,必需保证查询到的字段数必需一样
可以根据查询语句2的字段数量,判断查询语句1的字段数
排序
order by 字段 条件,根据给定的条件进行排序,默认情况下表的排序是升序
asc 升序
desc 降序
select * from 表名 order by 数字,表示对第n列进行排序,可以根据数字来推断字段列数
删除字段
alter table 表名 drop 字段名;删除指定表下的字段,列下记录会没有
alter table 表名 add 字段名 数据类型; 添加一个字段
修改表名
alter table 原表名 rename to 新表名;
去重
select distinct 字段 from 表名;可以去掉查询的记录的重复值
mysql注释符
# 或者 --
数据的导入和导出
导入数据
1,mysql -uroot -proot < 需要导入的数据库文件(xx.sql),需要注意xx.sql文件需要自动创建数据库,并且需要选择该数据库,如果xx.sql不会创建数据库,就手动创建一个数据库
create database 库名;
use 库名;
source 数据库文件
2,phpmyadmin等web平台选择文件导入
3,mysqlimport -uroot -proot --local 库名 数据库文件,首先需要创建一个数据库,并且创建一个表,该表的字段名要和导入的数据的字段保持一致
导出数据
1,利用phpmyadmin等工具导出
2,mysqldump -uroot -proot 库名 > 导入文件名
mysqldump -u -p 库名 表名 > 文件名
3,select 字段 from 表名 into outfile ’文件‘;将数据库中的字段内容,导出为一个文件
2019-10-10:渗透测试,基础学习,mysql语法基础,笔记的更多相关文章
- 学习mysql语法--基础篇(一)
前 言 mysql mysql语法--本篇学习都是通过使用Navicat Premium(数据库管理工具),连接mysql数据. 本篇学习主要有两个部分: 一.创建用户,创建数据库,给 ...
- 学习mysql语法--基础篇(二)
前 言 mysql mysql语法--本篇学习都是通过使用Navicat Premium(数据库管理工具),连接mysql数据. 本篇学习主要有两个部分: [SQL语句的组成] DML ...
- 只要9.9元!零基础学习MySQL
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 导语 经过一段时间的筹备和整理,万里数据库<零基础学习MySQL>课程正式在腾讯课堂上线了. 课程地址:htt ...
- 零基础到精通Web渗透测试的学习路线
小编相信很多新手都会遇到以下几个问题 1.零基础想学渗透怎么入手? 2.学习web渗透需要从哪里开始? 这让很多同学都处于迷茫状态而迟迟不下手,小编就在此贴给大家说一下web渗透的学习路线,希望对大家 ...
- 《Metasploit渗透测试魔鬼训练营》第一章读书笔记
第1章 魔鬼训练营--初识Metasploit 20135301 1.1 什么是渗透测试 1.1.1 渗透测试的起源与定义 如果大家对军事感兴趣,会知道各国军队每年都会组织一些军事演习来锻炼军队的攻防 ...
- 2019-9-9:渗透测试,基础学习,windows基础命令,笔记
windows系统基础命令学习 1,命令提示符界面进入方法 方法一: 某分区按住shift,右键单击选择在此处打开windows powershell,进入之后输入cmd 方法二:标题栏输入 方法三: ...
- 2019-9-18:渗透测试,基础学习,DNS HTML,笔记
DNS服务器,域名解析服务器,端口默认53,UDP协议传输,服务器作业,将域名转成ip,将ip转成域名 sql server默认端口:1433,MSSQL是sql server简写 netstat - ...
- 2019-9-11:渗透测试,基础学习,vim编辑器,笔记
Linux快捷路径符号说明. 代表当前目录.. 上级目录- 代表前一个工作目录~ 表示当前用户的家目录 vmware tools 用来虚拟机和宿主机之间移动数据 vim/vi编辑器vim编辑器三种模式 ...
- [基础学习]MySQL常用语句命令总结
前言 相信平时大家在开发时都会使用MySQL数据库,它是目前比较火的一款数据库工具,对于大多数企业的业务来说,MySQL可以很完美地支持了. 很多时候我们都是借助mysql可视化工具操作mysql,虽 ...
随机推荐
- MongoDB Java API操作很全的整理
MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,一般生产上建议以共享分片的形式来部署. 但是MongoDB官方也提供了其它语言的客户端操作API.如下图所示: 提供了C.C++ ...
- Nginx、WSGI、 uWSGI、 uwsgi的区别
当我们部署完一个应用程序,浏览网页时具体的过程是怎样的呢?首先我们得有一个 Web 服务器来处理 HTTP 协议的内容,Web 服务器获得客户端的请求,交给应用程序,应用程序处理完,返回给 Web 服 ...
- 第八篇 Flask中的蓝图
随着业务代码的增加,将所有代码都放在单个程序文件中,是非常不合适的.这不仅会让代码阅读变得困难,而且会给后期维护带来麻烦.如下示例:我们在一个文件中写入多个路由,这会使代码维护变得困难. 如图所示,如 ...
- Linux Capabilities 入门教程:基础实战篇
该系列文章总共分为三篇: Linux Capabilities 入门教程:概念篇 Linux Capabilities 入门教程:基础实战篇 待续... 上篇文章介绍了 Linux capabilit ...
- 6、pytest -- 临时目录和文件
目录 1. 相关的fixture 1.1. tmp_path 1.2. tmp_path_factory 1.3. tmpdir 1.4. tmpdir_factory 1.5. 区别 2. 默认的基 ...
- Java后端开发工作 - 写接口
我在公司的工作内容是,对于一个BS应用,负责服务器端开发工作,Java语言.与前端开发人员合作,最终提供给前端RESTFUL接口,保证页面正常响应. 经验之谈 一个接口可以理解为一个业务逻辑,一个业务 ...
- [springboot 开发单体web shop] 3. 用户注册实现
目录 用户注册 ## 创建数据库 ## 生成UserMapper ## 编写业务逻辑 ## 编写user service UserServiceImpl#findUserByUserName 说明 U ...
- sql中实现先排序后分组
数据表结构和数据如下: CREATE TABLE `commun_message_chat_single` ( `id` ) NOT NULL AUTO_INCREMENT, `chat_id` ) ...
- tomcat无法启动的原因
一.排查思路 最直接也是最有效的办法:看console控制台 这是我看到的原因,我先想到是不是web.xml里的url-pattern里的命名是不是冲突 因为我在这个项目之前写了一个项目,用的是同一个 ...
- Java 干货之深入理解Java泛型
一般的类和方法,只能使用具体的类型,要么是基本类型,要么是自定义的类.如果要编写可以应用多中类型的代码,这种刻板的限制对代码得束缚会就会很大. ---<Thinking in Java> ...