Web安全——数据库mysql学习

这篇具有很好参考价值的文章主要介绍了Web安全——数据库mysql学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Web安全分享

1、Web安全——HTML基础
2、Web安全——DIV CSS基础
3、Web安全——JavaScript基础
4、Web安全——PHP基础
5、Web安全——JavaScript基础(加入案例)
6、靶场搭建——搭建pikachu靶场

一·、数据库的基本操作

1、MYSQL登录与退出

D:\phpStudy\MySQL\bin
登陆: 输入 mysql -uroot -p -P3306 -h127.0.0.1
退出的三种方法

mysql > exit;
mysql > quit;
mysql > \q;

语法使用:
数据库的登陆:

Microsoft Windows [版本 10.0.22621.4]
(c) Microsoft Corporation。保留所有权利。

C:\Users\lenovo>mysql -uroot -p123456 -h127.0.0.1
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.26 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

这里版本我们可以看到为mysql5.7.26
下面为帮助指令:

mysql> help

For information about MySQL products and services, visit:
   http://www.mysql.com/
For developer information, including the MySQL Reference Manual, visit:
   http://dev.mysql.com/
To buy MySQL Enterprise support, training, or other products, visit:
   https://shop.mysql.com/

List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
?         (\?) Synonym for `help'.
clear     (\c) Clear the current input statement.
connect   (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
ego       (\G) Send command to mysql server, display result vertically.
exit      (\q) Exit mysql. Same as quit.
go        (\g) Send command to mysql server.
help      (\h) Display this help.
notee     (\t) Don't write into outfile.
print     (\p) Print current command.
prompt    (\R) Change your mysql prompt.
quit      (\q) Quit mysql.
rehash    (\#) Rebuild completion hash.
source    (\.) Execute an SQL script file. Takes a file name as an argument.
status    (\s) Get status information from the server.
tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
use       (\u) Use another database. Takes database name as argument.
charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings  (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.
resetconnection(\x) Clean session context.

For server side help, type 'help contents'

mysql>

以及某一个命令在mysql下如何使用查询:

mysql> help use
Name: 'USE'
Description:
Syntax:
USE db_name

The USE db_name statement tells MySQL to use the db_name database as
the default (current) database for subsequent statements. The database
remains the default until the end of the session or another USE
statement is issued:

USE db1;
SELECT COUNT(*) FROM mytable;   # selects from db1.mytable
USE db2;
SELECT COUNT(*) FROM mytable;   # selects from db2.mytable

The database name must be specified on a single line. Newlines in
database names are not supported.

URL: http://dev.mysql.com/doc/refman/5.7/en/use.html


mysql>

接下来为三种不同的退出方式:

mysql> exit;
Bye

C:\Users\lenovo>
mysql> quit;
Bye

C:\Users\lenovo>
mysql> \q;
Bye

C:\Users\lenovo>

2、MYSQL数据库的一些解释

注意: 数据库就相当于文件夹,表就相当于文件
Web安全——数据库mysql学习,Web安全,数据库,web安全,mysql,经验分享,安全,学习,网络安全
我们可以看见这里面即为我们创建并使用的数据库,同时打开之后都为很多的表单。

3、MYSQL注释符有三种:

1、#...
2、"--  ..."
3、/*...*/

二、数据库的一些基本操作

1、数据库的增删改查(sql语句)

这里db*为数据库名称,可随意:

  • 增: create database db1;
  • 删: drop database db1;
  • 改: alter database db1 charset utf8
  • 查: show databases;#查看所有的数据库

实际操作:
创建数据库:

mysql> create database moondata;
Query OK, 1 row affected (0.00 sec)

查看数据库:

ysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| moondata           |
| mydata             |
| mysql              |
| performance_schema |
| pikachu            |
| sys                |
+--------------------+
7 rows in set (0.00 sec)

mysql> show create database moondata;
+----------+-------------------------------------------------------------------------------------------+
| Database | Create Database                                                                           |
+----------+-------------------------------------------------------------------------------------------+
| moondata | CREATE DATABASE `moondata` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */ |
+----------+-------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

修改数据库:

mysql> alter database moondata charset utf8;
Query OK, 1 row affected (0.00 sec)

mysql>

删除数据库:

mysql> show  databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| moondata           |
| mydata             |
| mysql              |
| performance_schema |
| pikachu            |
| sys                |
+--------------------+
7 rows in set (0.00 sec)

mysql> drop database moondata;
Query OK, 0 rows affected (0.02 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydata             |
| mysql              |
| performance_schema |
| pikachu            |
| sys                |
+--------------------+
6 rows in set (0.00 sec)

mysql>

其他命令:
查看指定的数据库 show create database db1;

mysql> show create database moondata;
+----------+-------------------------------------------------------------------------------------------+
| Database | Create Database                                                                           |
+----------+-------------------------------------------------------------------------------------------+
| moondata | CREATE DATABASE `moondata` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */ |
+----------+-------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

设置默认的utf8,在配置文件中:写上
character_set_server = utf8
use db2
select database() #查看你当前在哪个文件夹

重命名数据库 RENAME database olddbname TO newdbname

show status; 显示一些系统特定资源的信息,例如,正在运行的线程数量。

desc tabl_name; 显示表结构,字段类型,主键,是否为空等属性,但不显示外键。

show databases 查看这个mysql里面有多少个库

use mysql

use 选择数据库

show tables 查看当前库里面所有的表

mysql> select password from user where user='root';

Mysql 5.7 select authentication_string,user from mysql.user;

查看当前数据库 里面的表user 用户为root的密码

alter database 数据库名 character set utf8;

三、table 表的操作

1、查看表结构

desc table

DESCRIBE 表名;

2、查看表的内容

select * from table_name

3、建立表

CREATE TABLE 表名 (
属性名 数据类型 [完整约束条件],
属性名 数据类型 [完整约束条件],


属性名 数据类型 [完整约束条件]
);
字段名就是属性名

完整的建立表的语句

create table users(id int(7) AUTO_INCREMENT,
						username varchar(100) not null,
						password varchar(100) not null,
						PRIMARY KEY(id)
						)ENGINE=InnoDB DEFAULT CHARSET=utf8;
	
mysql> create table users(id int(7) UNSIGNED auto_increment,username varchar(30) not null,password varchar(32) not null,email varchar(40),primary key (id))engine=myisam default charset=utf8;
Query OK, 0 rows affected (0.00 sec)

if not exists表示当相同的表名存在时,则不执行此创建语句,避免语句执行错误

create database if not exists [table];

ENGINE=InnoDB DEFAULT CHARSET=utf8;
ENGINE 设置表的引擎 和默认的字符类型
常见的数据库引擎
InnoDB myisam
数据类型
https://www.cnblogs.com/-xlp/p/8617760.html

4、约束条件

PRIMARY KEY 标识该属性为该表的主键,可以唯一的标识对应的元组
FOREIGN KEY 标识该属性为该表的外键,是与之联系某表的主键

NOT NULL 标识该属性不能为空
UNIQUE 标识该属性的值是唯一的
AUTO_INCREMENT 标识该属性的值是自动增加,这是MySQL的SQL语句的特色
DEFAULT 为该属性设置默认值

5、修改表的操作

修改表
格式: ALTER TABLE 旧表名 RENAME 新表名;
修改字段的数据类型:

ALTER TABLE 表名 MODIFY 属性名 数据类型;

修改字段名:

ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;

增加字段名:

ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST | AFTER 属性名2];

删除字段:

ALTER TABLE 表名 DROP 属性名;

更改表的存储引擎:

格式: ALTER TABLE 表名 ENGINE = 存储引擎名;

四、数据的增删改查

为表中所有字段添加数据
语法: INSERT INTO 表名(字段名1,字段名2,…)VALUES(值1,值2,…);
mysql> insert into users (id,username,password)values(1,'moon','123456');

1、增

语法: INSERT INTO 表名 VALUES(值11,值2,…);
mysql> insert into users values(null,'test','123456');
语法: INSERT INTO 表名(字段1,字段2,…)VALUES(值1,值2,…)
语法: INSERT INTO 表名 SET 字段名1=值1[,字段名2=值2,…]
举例: INSERT INTO student SET id=4,name='zhaoliu',grade=72;
同时添加多条数据
语法:
INSERT INTO 表名[(字段名1,字段名2,…)]VALUES (值1,值2,…),(值1,值2,…),
mysql> insert into users (id,username,password)values(null,'moon','123456'),(null,'alex','123456');

:INSERT INTO 表名[(字段名1,字段名2,…)]VALUES (值1,值2,…),(值1,值2,…),(值1,值2,…)
mysql> insert into users values(null,'moon1','123456'),(null,'alex1','123456');

2、删

DELETE FROM 表名 [WHERE 条件表达式
delete from users where id=1;
删除全部数据
DELETE 语句中没有使用WHERE语句,则会将表中所有记录都删除。
DELETE FROM 表名
删除全部数据的另一种方法——TRUNCATE

3、更新

语法: UPDATE 表名 SET 字段名1=值1,[ ,字段名2=值2,…][ WHERE 条件表达式 ]

update users set  password='aaaa' where id=1;
update users set  password='123456',username='moon' where id=1
update users set  password=456789;

4、查

select * from users;
星号代表所有的字段
查询指定的字段
select username,password from users;

  • 按条件调节查询
  • 按关系来查询

语法: SELECT 字段名1,字段名2,…FROM 表名WHERE 条件表达式

1、in 查询

SELECT * FROM student2 WHERE id IN (1,2,3);
BETWEEN AND 关键字的查询
select * from users where id not between 1 and 10;
DISTINCT 关键字的查询
select distinct username from users
like查询 一般都会给跟着 %
select * from users where username like "%m%" ;
下划线 _ 匹配一个字符
select* from users where username like "moo_"

2、and查询

满足多个条件
select * from users where id=1 and username='moon';

3、or查询

满足任意一个条件
select * from users where id=1 or username='moon';
ORAND 一起使用的情况
ORAND 一起使用的时候,AND 的优先级高于 OR,因此二者一起使用时,会先运算 AND 两边的表达式,再运算 OR 两边的表达式。
mysql> select * from users where id >5 and password='123456c' or username='moon1';

4、聚合查询

count 返回行数

select count(*) from users;
select count(id) from users;

COUNT() 返回某列的行数
SUM() 返回某列值的和
AVG() 返回某列的平均值
MAX() 返回某列的最大值
MIN() 返回某列的最小值

5、分组查询

如果报错请在 my.ini添加
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

GROUP BY

mysql> SELECT * FROM users GROUP BY password;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  3 | moon1    | 123456   |
|  1 | moon     | 456789   |
+----+----------+----------+
2 rows in set (0.01 sec)

mysql> SELECT * FROM users GROUP BY username;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  2 | alex1    | 456789   |
|  1 | moon     | 456789   |
|  3 | moon1    | 123456   |
+----+----------+----------+
3 rows in set (0.01 sec)

使用 LIMIT 限制查询结果的数量

select * from users limit 2,10;
select * from users as u where u.id=1;

为表和字段取别名
select username as myname from users;

6、mysql的子查询

  • where型子查询
    (把内层查询结果当作外层查询的比较条件)
select * from users where id in (select id from users where id>10);
  • from型子查询
    (把内层的查询结果供外层再次查询)
select * from (select username,age from users) as agev_a where age>20	
select * from (select * from users where id>=10) as age_10;	

(select * from users where id>=10)查询出来的是一个集合 别名为age_10
select * from age_10

  • exists型子查询
    (把外层查询结果拿到内层,看内层的查询是否成立)
select * from users where EXISTS (select * from users where id>1)

7、联合查询

(两个表的查询)
注释: 默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL
ALLUNION 一起使用时(即 UNION ALL),不消除重复行
UNION ALL 查询全部 而且不会消除重复的行
union

SQL UNION ALL 语法
union的用法及注意事项
两次查询的列数必须一致
select * from users union select *,1 from news;文章来源地址https://www.toymoban.com/news/detail-533186.html

CREATE TABLE `news` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) not NULL,
  `content` varchar(255) not null,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8; 
insert into news (title,content)values('a1','a1');

到了这里,关于Web安全——数据库mysql学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Web安全—information_schema数据库详解&基础补充

    前言 :在SQL注入中,information_schema数据库中包含的信息特别重要,通过这个表我们可以去获取到存在SQL注入网站的表,列,等信息,其危害不言而喻。 基础 :information_schema是一个存放了当前数据库管理系统中所有数据库信息的一个数据库,数据库只能进行读取,不支持修改

    2023年04月08日
    浏览(34)
  • ASP.NET WEB API通过SugarSql连接MySQL数据库

    注意:VS2022企业版可以,社区版可能存在问题。实体名称和字段和数据库中的要一致。 1、创建项目,安装SqlSugarCore、Pomelo.EntityFrameworkCore.MySql插件 2、文件结构 2、appsettings.json { “Logging”: { “LogLevel”: { “Default”: “Information”, “Microsoft.AspNetCore”: “Warning” } }, “Allowed

    2024年02月12日
    浏览(35)
  • restful web服务实现mysql+debezium+kafka对mysql数据库的业务实时变更数据监控

    请写java程序,创建restful web服务,示范利用RestController、Debezium和KafkaListener通过binlog日志监控并获得mysql业务数据库变更,请用具体数据集举例说明以上程序各步骤处理结果 该问题首先要了解restful web服务,Debezium和kafka相关知识。 1.restful web服务 RESTful是HTTP接口调用的一种特殊

    2024年01月21日
    浏览(54)
  • golang web学习随便记4-内存、文件、数据库

    我们来开始学习如何存储数据。书中有一点不错,就是并不是一上来就告诉你存储数据使用数据库,因为不同的数据存储适合不同的手段。 先来看在内存中存储数据:下面的例子用结构体方式在内存存放数据,然后利用两个map来表示“索引”,键值对中的值是指向内存中结构

    2024年02月06日
    浏览(241)
  • 更换Mysql数据库-----基于Abo.io 的书籍管理Web应用程序

    1. 其新的ABP框架可方便的开发微服务并使它们相互通信。亦可作为微服务单独部署,或者可以嵌入到单个应用程序中; 2. 模块化。最明显的就是更加模块化,使项目更加清晰明了,设计更合理; 3. 更多可扩展性。新的ABP框架为内置服务提供了更多的扩展点和覆盖的能力;

    2024年02月06日
    浏览(39)
  • web开发中,简单的案例说明前端页面和后端以及mysql数据库的交互过程

            首先这是一个基于 web开发 的稿子,作者也是转java20天左右,以前也一直迷惑起那段页面是如何和后端进行交互,数据提交提交到了哪里?后端开发如何获取到前端提交的数据呢?后端数据提交到数据库中应该如何处理,接下来通过一个简单的例子,登录案例 (实

    2024年02月03日
    浏览(47)
  • PHP 房产网站系统Dreamweaver开发mysql数据库web结构php编程计算机网页项目

    一、源码特点     PHP 房产网站系统是一套完善的WEB设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 源码 https://download.csdn.net/download/qq_41221322/88233553 论文 https://download.csdn.net/download/qq_41221322/88233555 PHP 房产网站系统Drea

    2024年02月12日
    浏览(49)
  • java碳排放数据信息管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

    一、源码特点     java Web碳排放数据信息管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环 境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。 java Web碳排放数据信

    2024年01月22日
    浏览(43)
  • PHP 旅游网站系统mysql数据库web结构apache计算机软件工程网页wamp

    一、源码特点     PHP 旅游网站系统 是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为PHP APACHE,数据库为 mysql5.0,使用php语言开发。 代码下载  https://download.csdn.net/download/qq_41221322/87952564 视频

    2024年02月11日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包