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. MySQL的基础与安装

    一.数据库概述 1.什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 2.数据库的主要特点: ⑴ 实现数据共享        数据共享包含 ...

  2. 致Java星球程序员兄弟们的一封信

    致Java星球程序员兄弟们的一封信 亲爱的Java星球的程序员兄弟们: 你们好!我是来自地球的一名Java程序员,首先我代表地球人对贵星球的高司令来到地球传授Java语言,造福了全人类,造福了整个地球 ...

  3. Linux学习使用Vim

    Vim是从 vi 发展出来的一个文本编辑器.vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序 ...

  4. 哪种方式更适合在React中获取数据?

    作者:Dmitri Pavlutin 译者:小维FE 原文:dmitripavlutin.com 国外文章,笔者采用意译的方式,以保证文章的可读性. 当执行像数据获取这样的I/O操作时,你必须发起获取 ...

  5. Feeling after reading《Jane Eyre》

    Yesterday I read and listened over the book named <Jane Eyre>, the book is very thoughtful, th ...

  6. 大事祭——MiserWeyte

    2019.9.10 QHDYZ组建信奥集训队祭(我哪知道这个鶸学校为啥这个时候组队) 2019.9.11 成为集训队毒瘤出题人祭 2019.9.21 博客界面优化祭(终于不是白底蓝框了)“那个拿剑的就 ...

  7. MIT线性代数:6.列向量和零空间

  8. python中“end=”用法

    python中“end=”用法:例如print(“#”,end=" \n"),默认换行,print(“#”,end=" ")则在循环中不换行

  9. python学习之【第五篇】:Python中的元组及其所具有的方法

    1.前言 Python的元组(tuple)与列表很相似,不同之处在于元组不能被修改,即元组一旦创建,就不能向元组中的增加新元素,不能删除元素中的元素,更不能修改元组中元素.但是元组可以访问任意元素,可 ...

  10. jquey写进度条问题

    jquey写进度条问题可以直接按照 总时间和进度条宽度之比来做 不管他是不是y=kx 反正时间到0 进度肯定是0了