sqli-labs
https://github.com/audi-1/sqli-labs
docker search sqli-labs
docker pull acgpiano/sqli-labs
docker run -dt --name NAME -p 3000:80 --rm acgpiano/sqli-labs
分类标签归档:MySQL
https://github.com/audi-1/sqli-labs
docker search sqli-labs
docker pull acgpiano/sqli-labs
docker run -dt --name NAME -p 3000:80 --rm acgpiano/sqli-labs
一个表空间包括了一个或多个段,一个段包括了一个或多个区,一个区包括了多个页,而一个页中可以有多行记录
区(Extent)是比页大一级的存储结构,在InnoDB存储引擎中,一个区会分配64个连续的页。因为InnoDB中的页大小默认是16KB,所以一个区的大小是64*16KB=1MB。
段(Segment) 由一个或多个区组成,区在文件系统是一个连续分配的空间(在InnoDB中是连续的64个页),不过在段中不要求区与区之间是相邻的。段是数据库中的分配单位,不同类型的数据库对象以不同的段形式存在。当我们创建数据表、索引的时候,就会相应创建对应的段,比如创建一张表时会创建一个
kaggle competitions download -c titanic
unzip ./titanic.zip -d ./titanic
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('./titanic/train.csv')
df_temp = df[['Embarked', 'Survived']]
# 生成数据透视表
## 方法1
table = pd.pivot_table(df_temp, index=['Emba
SELECT VERSION();
show variables like '%query_cache%';
select @@profiling;
set profiling=1;
show profiles;
show profile; -- 查看上一个查询
show profile for query 2;
逻辑查询优化就是通过改变SQL语句的内容让SQL执行效率更高效,采用的方式是对SQL语句进行等价变换,对查询进行重写。重写查询的数学基础就是关系代数。
SQL的查询重写包括了 子查询优化、等价谓词
COUNT(*) = COUNT(1) > COUNT(字段)
尽量使用COUNT(*),当然如果你要统计的是就是某个字段的非空数据行数,那另当别论。
尽量在数据表上建立二级索引,系统会自动采用key_len小的二级索引进行扫描。
含义 | 运算符 |
---|---|
等于 | = |
不等于 | <>或 != |
小于 | < |
小于等于(不大于) | <= 或 !> |
大于 | > |
大于等于(不小于) | >= 或 !< |
不小于 | !< |
在指定的两个数值之间 | BETWEEN |
为空值 | IS NULL |
含义 | 运算符 |
---|---|
并且 | AND |
或者 | OR |
在指定范围内 | IN |
非(否定) | NOT |
含义 | 运算符 |
---|---|
匹配任意字符串出现任意次数 | % |
匹配单个字符 | - |
eg1:
SELECT nam
下面列举了常见的 DDL 建表、修改表结构的语句
CREATE DATABASE IF NOT EXISTS nba;
USE nba;
DROP TABLE IF EXISTS player;
CREATE TABLE player (
`player_id` INT(11) NOT NULL AUTO_INCREMENT,
`team_id` INT(11) NOT NULL,
`player_name` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`height` fl
算术处理、字符串处理、日期处理、数据类型转换
SELECT ABS(-2);
SELECT MOD(101,3);
SELECT ROUND(37.25,1);
SELECT CONCAT('abc', 123);
SELECT LENGTH('你好');
SELECT CHAR_LENGTH('你好');
SELECT LOWER('ABC');
SELECT UPPER('abc');
SELECT REPLACE('fabcd', 'abc'