发帖
 找回密码
 立即注册
搜索
0 0

分享 20250303 Web渗透系统班 27414 樊子健

技术分享 1060 0 2025-3-31 22:55:18
Mysql 数据库基础





数据库
存放数据的仓库
开启外联命令

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
flush privileges;



数据库管理软件
navicat
sqlynx


逻辑运算符
and 并且    左右两边条件同时满足
or 或者       左右两边条件满足一个


语句
create database yijin; #创建数据库
drop database yijin; #删除数据
use yijin; #使⽤数据
create table test(id INT(8),pass CHAR(255)); #创建数据表
drop table test; #删除数据表
#插⼊数据
insert into test (id,pass) values(1,"admin");
insert into test values(2,"demo");
insert into test values(2,"demo",3);
insert into test(id,pass) values(2);
insert into test (id,pass) values(3,"1admin");
insert into test (id,pass) values(4,"1dmin");
insert into test (id,pass) values(5,"config");
insert into test (id,pass) values(6,"11config");
#查询
SELECT column1, column2, ...
FROM table_name
[WHERE condition]
[ORDER BY column_name [ASC | DESC]]
[LIMIT number];
#查询指定字段
select pass from test;select pass from yijin.test;
#查询所有字段信息
select * from test;
#简单指定条件查询
select * from test where id=2;
select * from test where pass="505";
#组合条件查询
select * from test where id=1 and pass="admin"; #and:需要同时满⾜左右两边的条件,才能够得到对应结

select * from test where id=1 or pass="505"; #or:只需要满⾜任意⼀个条件,就可以执⾏得到结果
#order by 排序
select * from test ORDER BY pass ;#默认升序
select * from test ORDER BY pass DESC;#降序
select * from test ORDER BY 1;
select * from test ORDER BY 2;
select * from test ORDER BY 3; #可以⽤于渗透测试中,对于服务器数据表字段的猜测
#limit 数据分⻚
select * from test limit 0,3;
select * from test limit 1,3; #⽤于对数据进⾏分⻚
select * from test limit 2,3; #⽤于对数据进⾏分⻚
#添加字段
alter table test add user char(255);
alter table test add patch char(255),add img char(255);
insert into test(id,pass,user) values(2,"demo","hello");#追加
#更新数据 `UPDATE 表名 SET 1 = 1, 2 = 2, ... WHERE 条件;`
update test set user="xiaoqiang" where id=3 and pass="1admin";
#删除数据`DELETE FROM 表名 WHERE 条件;`
delete from test where user="hello";
#ascii
select ascii(1);
select ascii("A");
select ascii("a");
select ascii("'");
select ascii('"');
select ascii("!");
#length
select length("abcdefg");
#concat
SELECT CONCAT(1,2,3,4);
SELECT CONCAT((SELECT pass from test WHERE id = 5),1);
#substr
SELECT SUBSTR("hello world!!",1,10);
SELECT SUBSTR("hello world!!",3,5);
#sleep
SELECT SLEEP(5);
SELECT SLEEP(10);
#其他函数
SELECT USER();
SELECT DATABASE();
SELECT VERSION();



MySQL 命令⼤全
基础命令




操作                                                                                    命令
连接到 MySQL 数据库                               mysql -u ⽤户名 -p
查看所有数据库                                        SHOW DATABASES;
选择⼀个数据库                                         USE 数据库名;
查看所有表                                             SHOW TABLES;
查看表结构                               DESCRIBE 表名; SHOW COLUMNS FROM 表名;
创建⼀个新数据库                           CREATE DATABASE 数据库名;
删除⼀个数据库                                DROP DATABASE 数据库名;
创建⼀个新表                   CREATE TABLE 表名 (列名1 数据类型 [约束], 列名2 数据类型 [约束], ...);
删除⼀个表                                          DROP TABLE 表名;
插⼊数据                            INSERT INTO 表名 (1, 2, ...) VALUES (1, 2, ...);
查询数据                                 SELECT 1, 2, ... FROM 表名 WHERE 条件;
更新数据                               UPDATE 表名 SET 1 = 1, 2 = 2, ... WHERE 条件;
删除数据                                    DELETE FROM 表名 WHERE 条件;
创建⽤户                            CREATE USER '⽤户名'@'主机' IDENTIFIED BY '密码';
授权⽤户                            GRANT 权限 ON 数据库名.* TO '⽤户名'@'主机';
刷新权限                                           FLUSH PRIVILEGES;
查看当前⽤户                                       SELECT USER();
退出 MySQL                                                   EXIT;




数据库相关命令
下⾯是与 MySQL 数据库操作相关的命令,包括创建、删除和修改数据库等操作:




操作                                                                                               命令
创建数据库                                                                CREATE DATABASE 数据库名;
删除数据库                                                                   DROP DATABASE 数据库名;
修改数据库编码格式和排序规则                              ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 编码格式 DEFAULT COLLATE排序规则;
查看所有数据库                                                               SHOW DATABASES;
查看数据库详细信息                                              SHOW CREATE DATABASE 数据库名;
选择数据库                                                                             USE 数据库名;
查看数据库的状态信息                                                           SHOW STATUS;
查看数据库的错误信息                                                            SHOW ERRORS;
查看数据库的警告信息                                                         SHOW WARNINGS;
查看数据库的表                                                                      SHOW TABLES;
查看表的结构                                                        DESC 表名; DESCRIBE 表名; SHOW COLUMNS FROM 表名; EXPLAIN 表名;
创建表                                                                CREATE TABLE 表名 (列名1 数据类型 [约束], 列名2 数据类型 [约束], ...);
删除表                                                                               DROP TABLE 表名;
修改表结构                                               ALTER TABLE 表名 ADD 列名 数据类型 [约束]; ALTER TABLE 表名 DROP 列名;ALTER TABLE 表名 MODIFY 列名 数据类型 [约束];
查看表的创建 SQL                                                      SHOW CREATE TABLE 表名;




数据表相关命令
以下是与 MySQL 数据表相关的常⽤命令,包括创建、修改、删除表以及查看表的结构和数据等操作:




操作                                                                                      命令
创建表                                     CREATE TABLE 表名 (列名1 数据类型 [约束], 列名2 数据类型 [约束], ...);
删除表                                                                  DROP TABLE 表名;
修改表结构                                          添加列: ALTER TABLE 表名 ADD 列名 数据类型 [约束]; 删除列: ALTER TABLE 表名 DROP 列名;
                                                              修改列: ALTER TABLE 表名 MODIFY 列名 数据类型 [约束]; 重命名列: ALTER TABLE 表名CHANGE 旧列名 新列名 数据类型 [约束];



查看表结构                                              DESC 表名; DESCRIBE 表名; SHOW COLUMNS FROM 表名; EXPLAIN 表名;
查看表的创建SQL                                                       SHOW CREATE TABLE 表名;
查看表中的所有数据                                                          SELECT * FROM 表名;
插⼊数据                                              INSERT INTO 表名 (1, 2, ...) VALUES (1, 2, ...);
更新数据                                                UPDATE 表名 SET 1 = 1, 2 = 2, ... WHERE 条件;
删除数据                                                                       DELETE FROM 表名 WHERE 条件;
查看表的索引                                                                     SHOW INDEX FROM 表名;
创建索引                                                                       CREATE INDEX 索引名 ON 表名 (列名);
删除索引                                                                           DROP INDEX 索引名 ON 表名;
查看表的约束                                                   SHOW CREATE TABLE 表名; (约束信息会包含在创建表的 SQL )
查看表的统计信息                                                       SHOW TABLE STATUS LIKE '表名';






MySQL 事务相关命令
以下是与 MySQL 事务相关的常⽤命令:






操作                                                                                                   命令
开始事务                                                                                      START TRANSACTION; BEGIN;
提交事务                                                                                                           COMMIT;
回滚事务                                                                                                         ROLLBACK;
查看当前事务的状态                           SHOW ENGINE INNODB STATUS; (可查看 InnoDB 存储引擎的事务状态)
锁定表以进⾏事务操作                        LOCK TABLES 表名 WRITE; LOCK TABLES 表名 READ;
释放锁定的表                                                                                      UNLOCK TABLES;
设置事务的隔离级别                                 SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
                                                              SET TRANSACTION ISOLATIONLEVEL REPEATABLE READ;
                                                              SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
                                                              SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;


ascii 编码表
0=48
A=65
a=97

第11节课作业
一、 什么是数据库?为什么使用数据库?
存放数据的仓库
使用数据库可以进行更高效的数据话管理,实现数据一致性与完整性,数据安全性提高,可以与跟多人共享交流,储存时间更久更可靠



二、 实操题。用命令的方式新建一个学生信息表。数据库名为xuesheng。表名为xuesheng_user。表中的字段为  id username phone address age。其中id类型为int设置为主键,自增,不能为空的约束条件,usernameaddress为字符串设置不能为空的约束条件。Phone设置为int设置不能为空的约束条件。Age设置为int 不能为空的条件。(命令截图)



三、 基于上面的数据库,新增一个int类型chengji的字段设置不能为空的约束条件。然后在表中插入以下数据
Username = 张三   phone = 13888888888   address= 福建  age = 18  chengji = 0
(步骤命令截图)


──── 0人觉得很赞 ────

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回