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语法基础,笔记的更多相关文章

  1. 学习mysql语法--基础篇(一)

      前  言  mysql  mysql语法--本篇学习都是通过使用Navicat Premium(数据库管理工具),连接mysql数据. 本篇学习主要有两个部分:    一.创建用户,创建数据库,给 ...

  2. 学习mysql语法--基础篇(二)

      前  言  mysql  mysql语法--本篇学习都是通过使用Navicat Premium(数据库管理工具),连接mysql数据. 本篇学习主要有两个部分: [SQL语句的组成]   DML ...

  3. 只要9.9元!零基础学习MySQL

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 导语 经过一段时间的筹备和整理,万里数据库<零基础学习MySQL>课程正式在腾讯课堂上线了. 课程地址:htt ...

  4. 零基础到精通Web渗透测试的学习路线

    小编相信很多新手都会遇到以下几个问题 1.零基础想学渗透怎么入手? 2.学习web渗透需要从哪里开始? 这让很多同学都处于迷茫状态而迟迟不下手,小编就在此贴给大家说一下web渗透的学习路线,希望对大家 ...

  5. 《Metasploit渗透测试魔鬼训练营》第一章读书笔记

    第1章 魔鬼训练营--初识Metasploit 20135301 1.1 什么是渗透测试 1.1.1 渗透测试的起源与定义 如果大家对军事感兴趣,会知道各国军队每年都会组织一些军事演习来锻炼军队的攻防 ...

  6. 2019-9-9:渗透测试,基础学习,windows基础命令,笔记

    windows系统基础命令学习 1,命令提示符界面进入方法 方法一: 某分区按住shift,右键单击选择在此处打开windows powershell,进入之后输入cmd 方法二:标题栏输入 方法三: ...

  7. 2019-9-18:渗透测试,基础学习,DNS HTML,笔记

    DNS服务器,域名解析服务器,端口默认53,UDP协议传输,服务器作业,将域名转成ip,将ip转成域名 sql server默认端口:1433,MSSQL是sql server简写 netstat - ...

  8. 2019-9-11:渗透测试,基础学习,vim编辑器,笔记

    Linux快捷路径符号说明. 代表当前目录.. 上级目录- 代表前一个工作目录~ 表示当前用户的家目录 vmware tools 用来虚拟机和宿主机之间移动数据 vim/vi编辑器vim编辑器三种模式 ...

  9. [基础学习]MySQL常用语句命令总结

    前言 相信平时大家在开发时都会使用MySQL数据库,它是目前比较火的一款数据库工具,对于大多数企业的业务来说,MySQL可以很完美地支持了. 很多时候我们都是借助mysql可视化工具操作mysql,虽 ...

随机推荐

  1. SSM简历模板1.0

    张三 xxx-xxxx-xxxx| xxxxxxx@qq.com| 南京 x岁 | 籍贯:江苏 已离职 | 求职意向:java开发工程师 | 期望薪资:面议 专业技能 1.熟悉MVC体系结构模式.B/ ...

  2. SpringBoot + Redis 执行lua脚本

    1.背景 有时候,我们需要一次性操作多个 Redis 命令,但是 这样的多个操作不具备原子性,而且 Redis 的事务也不够强大,不支持事务的回滚,还无法实现命令之间的逻辑关系计算.所以,一般在开发中 ...

  3. 《JavaScript设计模式与开发实践》-- 发布-订阅模式

    详情个人博客:https://shengchangwei.github.io/js-shejimoshi-fabudingyue/ 发布-订阅模式 1.定义 发布-订阅模式:发布-订阅模式又叫观察者模 ...

  4. Flask:Flask-script插件

    Flask-Script插件扩展提供向Flask插入外部脚本的功能,包括一个开发用的服务器,一个定制的python shell,设置数据库的脚本,cronjobs,及其它运行在web应用之外的命令行任 ...

  5. C# 倒计时,显示天,时,分,秒。时间可以是从数据库捞出来

    从数据库把时间读出来,接着 你用个timer控件启用控件,设置1000毫秒timer时间里 用当前时间-你取出的时间 就可以了 DateTime furtime = Convert.ToDateTim ...

  6. [Pandas]利用Pandas处理excel数据

    Python 处理excel的第三包有很多,比如XlsxWriter.xlrd&xlwt.OpenPyXL.Microsoft Excel API等,最后综合考虑选用了Pandas. Pand ...

  7. [考试反思]1103csp-s模拟测试99: 美梦

    可能这次考得好的原因就是熬夜颓废到不算太晚?(啪) 但是是真心困. 考前跟akt说:我希望今天考一点那种不用动脑子,就是一直码的题. 然后开门T1一道线段树维护单调栈的板子我就...了 当时调了一上午 ...

  8. Linux下基本操作

    强行转Linux,开始以为会很不适应,其实还好,换汤不换药 本文只讲基本操作,足够让你愉快的打代码,想飞上天的自行百度,或找其他大神(友链) Update 6/20:由于写得太烂被学长爆踩了一顿 直接 ...

  9. python之变量名

    在python中,变量不需要提前声明,创建时直接对其赋值即可,变量类型由赋给变量的值决定.值得注意的是,一旦创建了一个变量,就需要给该变量赋值. 变量名应严格遵守以下规则: 1.变量名只能包含:字母/ ...

  10. 8.3 NOIP 模拟12题解

    话说这次考试T1和T2是真的水,然而T1CE,T2TLE,T3CE 这不就是在侮辱我的智商啊!之前本机编译都是c++,以后要用c++11. 这次的T1就是一个大型找规律,我的规律都找出来了,但是竟然用 ...