-
Windows窗口数据库操作
#1. 连接MySQL
mysql -h 主机号 -P 端口号 -u 用户名 -p密码 (这里密码前没有空格)#2. 使用数据库
use database_name;#3. 备份数据库
mysqldump -u 用户名 -p 密码 -B db_name ...>路径+文件名.sql#4. 备份数据库的表
mysqldump -u 用户名 -p 密码 db_name table_name ...>路径+文件名.sql
-
数据库操作
#1. 创建数据库
CREATE DATABASE db_name CHARACTER SET 编码 COLLATE 校对;
#创建数据库db01,编码utf8,校对utf8_bin [区分大小写]
CREATE DATABASE db01 CHARACTER SET utf8 COLLATE utf8_bin;
#创建数据库db02,编码utf8,校对utf8_general_ci [不区分大小写]
CREATE DATABASE db02 CHARACTER SET utf8 COLLATE utf8_general_ci;#2. 查看数据库
# 2.1 查看所有数据库
SHOW DATABASES
# 2.2 查看单个数据库信息
SHOW CREATE DATABASE db_name;#3. 删除数据库
DROP DATABASE db_name [,db_name];
-
数据类型
数据类型 | 描述 |
默认有符号,无符号要在其后 + unsigned | |
bit(m) m在1-64 m为二进制的最高位 | 显示结果按二进制,查询时使用添加的数值 |
tinyint,int | -128~127,-231~231-1 |
float,double,decimal(M,D) | M是总长度(默认10,最大65); D是小数长度(默认0,最大30); |
char(m), varchar(m) | 存放m个字符,char是分配空间定长(0-255); varchar是分配空间变长(0-65535); |
-
数据表整体操作
#1. 创建表
# CREATE TABLE table_name(列名 列类型 约束,...) CHARACTER SET 编码 COLLATE 校对 ENGINE 存储引擎
CREATE TABLE `t4`(`ID` INT(10),`Name` VARCHAR(10),`Age` INT(5)
)CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE INNODB; #INNODB存储事务#2. 查看表结构
DESC `table_name`;
-- #显示表结构
DESC `employee`;#3. 删除表
DROP TABLE `table_name`;
DROP TABLE `t4`;
-
数据表数据操作
#1. 添加数据
INSERT INTO `table_name` [(列名...)] VALUES(值,...);
INSERT INTO `emp` values(02,'tony', '男','2000-12-12 11:10:30','2020-02-02 11:13:30',5000,'asdfgzxcvqwert') #2. 删除数据
DELETE FROM `table_name` [WHERE(条件)];
#删除id为3的数据
DELETE FROM `goods` WHERE (`id`=3);#3. 修改数据
UPDATE `table_name` SET 列名=表达式 [,列名=表达式,...] [WHERE(条件)];
#修故id为3的商品名为钢笔
UPDATE `goods` SET `goods_name`='钢笔' WHERE(`id`=3)#4. 查看数据
SELECT [DISTINCT] *|列名|函数 [AS 别名][,...] FROM `table_name` [WHERE(条件...|条件表达式...)];
-- #查询商品表中 `id`和`goods_name` [去重]
SELECT DISTINCT `id`,`goods_name` FROM `goods`;
-- #查询goods表中`goods_names`数据并将`goods_name`重命名为`商品名`
SELECT DISTINCT `goods_name` AS `商品名` FROM `goods`;
-- #查询表中满足价格在2-3之间的所有商品
SELECT * FROM `goods` WHERE `price` BETWEEN 2 AND 3;
-
常用运算符
运算符 | 含义 |
=,>,<,>=,<=,!=,<> | 比较 |
AND,OR,NOT | 多条件 |
BETWEEN...AND... | [ ] 段值匹配 |
IN(值1,值2,...) | 多值匹配 |
LIKE % _ | 字符匹配 %多值匹配 _单值匹配 |
IS NULL | 空值匹配 |
IS NOT NULL | 非空匹配 |
-
统计汇总查询
统计汇总 | 描述 | 举例 |
分组查询:group by 列名 [,列名,...][having 条件...] | 按列名进行分组,并筛选出满足条件的内容 | #从goods表中,筛选价格为2的商品,按价格和商品名进行划分,查询商品名和价格SELECT `price`,`goods_name` FROM `goods` GROUP BY `price`,`goods_name` HAVING `price`=2 |
分页查询:limit 索引,每页显示记录数 | 每页显示固定的记录数 | #查询商品名和价格,索引从0开始的3条记录SELECT `price`,`goods_name` FROM `goods` LIMIT 0,3; |
结果排序 order by 列名... [ASC|DESC] | ASC升序 DESC降序 | SELECT SNo,CNo,Score FROM SC WHERE Cno IN('C2','C3','C4','C5') ORDER BY SNo,Score DESC SNo 升序排列,Score 降序排列 |
-
利用内置表进行查询
# information_schema 内置库
# 内置库下的内置表(schemata,tables,columns)
# schema_name schemata下,记录库名的字段
# table_schema tables,columns下,记录库名的字段
# table_name tables,columns下,记录表名的字段
# column_name columns下,记录字段名的字段# 查询数据库
select schema_name from information_schema.schemata;
# 查询表名
select table_name from information_schema.tables where table_schema='cms';
# 查询列名
select column_name from infomation_schema.columns;
# 从 记录所有字段的表 中查询 表名=users 并且 库名=sql2024 的字段
select column_name from information_schema.columns where table_name="users" and table_schema='sql2024';
-
常用函数
函数 | 描述 | 举例 |
concat(字串,字串,...) | 数据拼接 | SELECT CONCAT("I ","You"); |
sleep(秒数) | 延时执行 | SELECT SLEEP(3); |
length(字串) | 返回结果得长度 | SELECT LENGTH("You"); |
substr(字串,起始,个数) | 截取结果 | SELECT SUBSTR("you",1,2); //yo |
ascii(条件,值1,值2) | 将结果转换为ascii码 | SELECT ASCII("Aou"); //65 |
if() | 条件判断 | SELECT IF(TRUE,3,2) //3 |
gourp_concat() | 将返回的内容一行输出,可指定拼接符 | SELECT group_concat(user,'~',city) FROM users; |
extractvalue() | 对xml文档进行查询: extractvalue(目录文档,路径) | |
updatexml() | 对xml文档进行更新 updatexml(目标xml文档,xml路径,更新的内容) | |
load_file() | 读取文件 | select load_file("D:\1.txt"); |
into outfile | 写入文件 | select "hello" into outfile "D:\1.txt" |
into dumpfile | 写入文件 | 以上导出文件条件:
|
user() | 查看当前用户 | select user(); |
version() | 查看数据库版本 | select version(); |
database() | 查看数据库名 | SELECT DATABASE(); |
@@version_compile_os; | 查看操作系统 | SELECT @@version_compile_os; |
@@basedir | 查看mysql安装目录 | SELECT @@basedir; |
@@datadir; | 查看存储数据库所在目录 | select @@datadir; |
-
结语
亲爱的网络安全同行和爱好者们,
在我分享的网络安全自学笔记中,我深感自己的知识和经验有限。为了更好地服务于这个领域,我真诚地希望各位能够指出我的错误和不足,以便我们共同进步,提升网络安全防护能力。
我深知,网络安全是一个不断发展的领域,需要我们持续学习和实践。我的笔记可能存在理解偏差、技术更新不及时或实践应用上的疏漏。因此,我非常欢迎各位专家和同好们提出宝贵意见,帮助我完善内容,确保信息的准确性和实用性。
请您在阅读过程中,如果发现任何问题,无论是小的笔误还是大的概念性错误,都能及时反馈给我。您的每一次指正都是我进步的阶梯,也是我们共同守护网络安全的责任所在。
感谢您的理解和支持,让我们一起努力,为网络安全领域的发展贡献力量!