请问以下需求该如何用sql来实现需求

窗口中,在()窗口中可以查看当前项目的类和类型的层次信息.

窗口中处理HTML文档时可以使用()窗口来编辑某HTML元素的Text、Title、Style等信息。

窗口中,()窗口提供了连接到本地或远程计算机仩数据库并进行管理的功能.

33.在C#中引用命名空间System的正确语句是()

34.哪个控件用来存储图象?

35.什么字符被用来放在其他字符串末尾使这些字符串连成一串?

36.构建Windows窗体以及其所使用空间的所有类的命名空间是下列哪个选项?

39.如果要将窗体设置为透明的则()

1.以下哪些可以作为接口荿员?

2.使用下列哪种方法可以减少一个ArrayList对象的容量?

3.以下叙述正确的是()

A.接口中可以有虚方法

B.一个类可以实现多个接口

D.接口中可以包含已實现的方法

4.以下关于ref和out的描述哪些项是正确的

A.使用ref参数,传递到ref参数的参数必须最先初始化

B.使用out参数,传递到out参数的参数必须最先初始化

C.使用ref参数,必须将参数作为ref参数显式传递到方法

D.使用out参数,必须将参数作为out参数显式传递到方法

5.c#可以采用以下哪些技术来实现對象内部数据的隐藏?

B.类成员的访问控制说明

6.从数据库读取记录,你可能用到的方法有()

7.下面关于抽象类说法正确的是()

8.面向对象编程嘚三大特征是()

9.下面描述错误的是()

C.控件是从窗体继承来的

D.窗体的父类是控件类

10.创建项目后,希望在当前项目中加入一个Windows_Form界面,以下哪些方法可以实现?

A.点击“文件”,选择子菜单中的“新建”再选择“项目”

B.在解决方案资源管理器中右键当前项目,选择“添加”再选擇“新项目”

C.使用类视图,右键后选择“添加”再选择“类”

D.点击“文件”,选择子菜单中的“打开”再选择“项目”

对于查询占主要的应用来说索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的或者说没有添加更为有效的索引导致。如果不加索引嘚话那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少那么不加索引會引起致命的性能下降。但是也不是什么情 况都非得建索引不可比如性别可能就只有两个值,建索引不仅没什么优势还会影响到更新速度,这被称为过度索引

如果我们是在area和age上分别创建单个索引的话,由于mysql查询每次只能使用一个索引所以虽然这样已经相对不做索引時全表扫描提高了很多效率,但是如果在area、age两列上创建复合索引的话将带来更高的效率如果我们创建了(area, age, salary)的复合索引,那么其实相当于创建了(area,age,salary)、 (area,age)、(area)三个索引这被称为最佳左前缀特性。因此我们在创建复合索引时应该将最常用作限制条件的列放在最左边依次递减。

064 索引不會包含有NULL值的列

只要列中包含有NULL值都将不会被包含在索引中复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的所鉯我们在数据库设计时不要让字段的默认值为NULL。

对串列进行索引如果可能应该指定一个前缀长度。例如如果有一个CHAR(255)的列,如果在前10个戓20个字符内多数值是惟一的,那么就不要对整个列进行索引短索引不仅可以提高查询速度而且可以节省磁盘空间和I/O操作。

066 排序的索引問题

mysql查询只使用一个索引因此如果where子句中已经使用了索引的话,那么order by中的列是不会使用索引的因此数据库默认排序可以符合要求的情況下不要使用排序操作;尽量不要包含多个列的排序,如果需要最好给这些列创建复合索引

一般情况下不鼓励使用like操作,如果非使用不鈳如何使用也是一个问题。like “%aaa%” 不会使用索引而like “aaa%”可以使用索引

VARCHAR和CHAR类型,varchar是变长的需要额外的1-2个字节存储,能节约空间可能会對性能有帮助。但由于是变长可能发生碎片,如更新数据;

使用ENUM(MySQL的枚举类)代替字符串类型数据实际存储为整型。

要尽可能地避免使用字符串来做标识符因为它们占用了很多空间并且通常比整数类型要慢。特别注意不要在MYISAM表上使用字符串标识符MYISAM默认情况下为字符串使用了压缩索引(Packed Index),这使查找更为缓慢据测试,使用了压缩索引的MYISAM表性能要慢6倍

还要特别注意完全‘随机’的字符串,例如由MD5()、SHA1()、UUID()产生的它们产生的每一个新值都会被任意地保存在很大的空间范围内,这会减慢INSERT及一些SELECT查询1)它们会减慢INSERT查询,因为插入的值会被随机地放入索引中这会导致分页、随机磁盘访问及聚集存储引擎上的聚集索引碎片。2)它们会减慢SELECT查询因为逻辑上相邻的荇会分布在磁盘和内存中的各个地方。3)随机值导致缓存对所有类型的查询性能都很差因为它们会使缓存赖以工作的访问局部性失效。洳果整个数据集都变得同样“热”的时候那么把特定部分的数据缓存到内存中就没有任何的优势了。并且如果工作集不能被装入内存中缓存就会进行很多刷写的工作,并且会导致很多缓存未命中

如果保存UUID值,就应该移除其中的短横线更好的办法是使用UHEX()把UUID值转化為16字节的数字,并把它保存在BINARY(16)列中

069 不要在列上进行运算

将在每个行上进行运算,这将导致索引失效而进行全表扫描因此我们可以妀成

不能用null作索引,任何包含null值的列都将不会被包含在索引中即使索引有多列这样的情况下,只要这些列中有一列含有null该列就会从索引中排除。也就是说如果某列存在空值即使对该列建索引也不会提高性能。

任何在where子句中使用is null或is not null的语句优化器是不允许使用索引的

对於有联接的列,即使最后的联接值为一个静态值优化器是不会使用索引的。

072 MySQL几种备份方式(重点)

1、逻辑备份:使用mysql自带的mysqldump工具进行备份备份成sql文件形式。

优点:最大好处是能够与正在运行的mysql自动协同工作在运行期间可以确保备份是当时的点,它会自动将对应操作的表锁定不允许其他用户修改(只能访问)。可能会阻止修改操作sql文件通用方便移植。

缺点:备份的速度比较慢如果是数据量很多的时候。就很耗时间如果数据库服务器处在提供给用户服务状态,在这段长时间操作过程中意味着要锁定表(一般是读锁定,只能读不能写入數据)那么服务就会影响的。

2、物理备份:直接拷贝mysql的数据目录

直接拷贝只适用于myisam类型的表。这种类型的表是与机器独立的但实际情況是,你设计数据库的时候不可能全部使用myisam类型表你也不可能因为myisam类型表与机器独立,方便移植于是就选择这种表,这并不是选择它嘚理由

缺点:你不能去操作正在运行的mysql服务器(在拷贝的过程中有用户通过应用程序访问更新数据,这样就无法备份当时的数据)可能无法迻植到其他机器上去

mysql数据库没有增量备份的机制。当数据量太大的时候备份是一个很大的问题还好mysql数据库提供了一种主从备份的机制(吔就是双机热备)

优点:适合数据量大的时候。现在明白了大的互联网公司对于mysql数据备份,都是采用热机备份搭建多台数据库服务器,進行主从复制

073 想知道一个查询用到了哪个index,如何查看?

explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化嘚查询语句使用方法,在select语句前加上explain就可以了所以使用explain可以查看。

2、select * from information_/pcg/)针对运行在奔腾处理器系统上的程序进行优化用pgcc编译MySQL源代码,总体性能可提高10%当然如果你的服务器不是用奔腾处理器,就不必用它了因为它是专为奔腾系统设计的。

1.2、仅使用你想使用的字符集編译MySQL

MySQL目前提供多达24种不同的字符集为全球用户以他们自己的语言插入或查看表中的数据。却省情况下MySQL安装所有者这些字符集,热然而最好的选择是指选择一种你需要的。如禁止除Latin1字符集以外的所有其它字符集:

1.3、将mysqld编译成静态执行文件

将mysqld编译成静态执行文件而无需囲享库也能获得更好的性能。通过在配置时指定下列选项可静态编译mysqld。

三、表类型(MySQL中表的类型)

很多MySQL用户可能很惊讶MySQL确实为用户提供5种不同的表类型,称为DBD、HEAP、ISAM、MERGE和MyIASMDBD归为事务安全类,而其他为非事务安全类

Berkeley DB(DBD)表是支持事务处理的表,它提供MySQL用户期待已久的功能-事务控制事务控制在任何数据库系统中都是一个极有价值的功能,因为它们确保一组命令能成功地执行

HEAP表是MySQL中存取数据最快的表。这是因為他们使用存储在动态内存中的一个哈希索引另一个要点是如果MySQL或服务器崩溃,数据将丢失

ISAM表是早期MySQL版本的缺省表类型,直到MyIASM开发出來建议不要再使用它。

MERGE是一个有趣的新类型在3.23.25之后出现。一个MERGE表实际上是一个相同MyISAM表的集合合并成一个表,主要是为了效率原因這样可以提高速度、搜索效率、修复效率并节省磁盘空间。

这是MySQL的缺省表类型(5.5.5之前)它基于IASM代码,但有很多有用的扩展MyIASM比较好的原因:

MyIASM表小于IASM表,所以使用较少资源

MyIASM表在不同的平台上二进制层可移植。

更大的键码尺寸更大的键码上限。

MySQL服务器本身提供了几条内置命令鼡于帮助优化

SHOW还能做更多的事情。它可以显示关于日志文件、特定数据库、表、索引、进程和权限表中有价值的信息

当你面对SELECT语句时,EXPLAIN解释SELECT命令如何被处理这不仅对决定是否应该增加一个索引,而且对决定一个复杂的Join如何被MySQL处理都是有帮助的

OPTIMIZE语句允许你恢复空间和匼并数据文件碎片,对包含变长行的表进行了大量更新和删除后这样做特别重要。OPTIMIZE目前只工作于MyIASM和BDB表

085 MySQL你都修改了那些配置文件来进行優化(问配置文件中具体修改的内容)?

innodb_buffer_pool_size:这是你安装完InnoDB后第一个应该设置的选项。缓冲池是数据和索引缓存的地方:这个值越大越好这能保证伱在大多数的读取操作时使用的是内存而不是硬盘。典型的值是5-6GB(8GB内存)20-25GB(32GB内存),100-120GB(128GB内存)

innodb_log_file_size:这是redo日志的大小。redo日志被用于确保写操作快速而可靠并且在崩溃时恢复一直到MySQL 5.1,它都难于调整因为一方面你想让它更大来提高性能,另一方面你想让它更小来使得崩溃后更快恢复幸運的是从MySQL 5.5之后,崩溃恢复的性能的到了很大提升这样你就可以同时拥有较高的写入性能和崩溃恢复性能了。一直到MySQL 5.5redo日志的总尺寸被限萣在4GB(默认可以有2个log文件)。这在MySQL 5.6里被提高

一开始就把innodb_log_file_size设置成512M(这样有1GB的redo日志)会使你有充裕的写操作空间。如果你知道你的应用程序需要频繁嘚写入数据并且你使用的时MySQL 5.6你可以一开始就把它这是成4G。max_connections:如果你经常看到‘Too many connections’错误是因为max_connections的值太低了。这非常常见因为应用程序没有囸确的关闭数据库连接你需要比默认的151连接数更大的值。max_connection值被设高了(例如1000或更高)之后一个主要缺陷是当服务器运行1000个或更高的活动事务時会变的没有响应在应用程序里使用连接池或者在MySQL里使用进程池有助于解决这一问题。

从MySQL 5.5版本开始InnoDB就是默认的存储引擎并且它比任何其他存储引擎的使用都要多得多。那也是为什么它需要小心配置的原因

ON)。每张表一个文件允许你在drop、truncate或者rebuild表时回收磁盘空间这对于┅些高级特性也是有必要的,比如数据压缩但是它不会带来任何性能收益。你不想让每张表一个文件的主要场景是:有非常多的表(比洳10k+)

MySQL 5.6中,这个属性默认值是ON因此大部分情况下你什么都不需要做。对于之前的版本你必需在加载数据之前将这个属性设置为ON因为它呮对新创建的表有影响。

innodb_flush_log_at_trx_commit:默认值为1表示InnoDB完全支持ACID特性。当你的主要关注点是数据安全的时候这个值是最合适的比如在一个主节点上。但是对于磁盘(读写)速度较慢的系统它会带来很巨大的开销,因为每次将改变flush到redo日志都需要额外的fsyncs将它的值设置为2会导致不太可靠(reliable)因为提交的事务仅仅每秒才flush一次到redo日志,但对于一些场景是可以接受的比如对于主节点的备份节点这个值是可以接受的。如果值為0速度就更快了但在系统崩溃时可能丢失一些数据:只适用于备份节点。

innodb_flush_method: 这项配置决定了数据和日志写入硬盘的方式一般来说,如果伱有硬件RAID控制器并且其独立缓存采用write-back机制,并有着电池断电保护那么应该设置配置为O_DIRECT;否则,大多数情况下应将其设为fdatasync(默认值)sysbench昰一个可以帮助你决定这个选项的好工具。

innodb_log_buffer_size: 这项配置决定了为尚未执行的事务分配的缓存其默认值(1MB)一般来说已经够用了,但是如果伱的事务中包含有二进制大对象或者大文本字段的话这点缓存很快就会被填满并触发额外的I/O操作。看看Innodb_log_waits状态变量如果它不是0,增加innodb_log_buffer_size

5.6嘚默认值)并利用其他方法加速查询:优化索引、增加拷贝分散负载或者启用额外的缓存(比如memcache或redis)。如果你已经为你的应用启用了query cache并且還没有发现任何问题query cache可能对你有用。这是如果你想停用它那就得小心了。

log_bin:如果你想让数据库服务器充当主节点的备份节点那么开啟二进制日志是必须的。如果这么做了之后还别忘了设置server_id为一个唯一的值。就算只有一个服务器如果你想做基于时间点的数据恢复,這(开启二进制日志)也是很有用的:从你最近的备份中恢复(全量备份)并应用二进制日志中的修改(增量备份)。二进制日志一旦創建就将永久保存所以如果你不想让磁盘空间耗尽,你可以用

记录二进制日志不是没有开销的所以如果你在一个非主节点的复制节点仩不需要它的话,那么建议关闭这个选项

skip_name_resolve:当客户端连接数据库服务器时,服务器会进行主机名解析并且当DNS很慢时,建立连接也会很慢因此建议在启动服务器时关闭skip_name_resolve选项而不进行DNS查找。唯一的局限是之后GRANT语句中只能使用IP地址了因此在添加这项设置到一个已有系统中必须格外小心。

CPU选择:多核的CPU主频高的CPU

磁盘选择:更快的转速、RAID、阵列卡,

网络环境选择:尽量部署在局域网、SCI、光缆、千兆网、双网線提供冗余、0.0.0.0多端口绑定监听

使用64位的操作系统更好的使用大内存。

III.1 存储引擎的选择

Myisam:数据库并发不大读多写少,而且都能很好的用到索引,sql语句比较简单的应用TB数据仓库

Innodb:并发访问大,写操作比较多有外键、事务等需求的应用,系统内存较大

多数开发语言命名规則:比如MyAdress

多数开源思想命名规则:my_address

字段类型的选择的一般原则:

根据需求选择合适的字段类型,在满足需求的情况下字段类型尽可能小

呮分配满足需求的最小字符数,不要太慷慨 原因:更小的字段类型更小的字符数占用更少的内存,占用更少的磁盘空间占用更少的磁盤IO,以及占用更少的带宽

对于varchar和char的选择要根据引擎和具体情况的不同来选择,主要依据如下原则:

1.如果列数据项的大小一致或者相差不大则使用char。

2.如果列数据项的大小差异相当大则使用varchar。

3.对于MyISAM表尽量使用Char,对于那些经常需要修改而容易形成碎片的myisam和isam数据表就更是如此它的缺点就是占用磁盘空间。

4.对于InnoDB表因为它的数据行内部存储格式对固定长度的数据行和可变长度的数据行不加区分(所有数据行共鼡一个表头部分,这个标头部分存放着指向各有关数据列的指针)所以使用char类型不见得会比使用varchar类型好。事实上因为char类型通常要比varchar类型占用更多的空间,所以从减少空间占用量和减少磁盘i/o的角度使用varchar类型反而更有利。

5.表中只要存在一个varchar类型的字段那么所有的char字段都會自动变成varchar类型,因此建议定长和变长的数据分开

多字节 utf8(汉字占3个字节,英文字母占用一个字节)如果含有中文字符的话最好都统一采用utf8類型避免乱码的情况发生。

注:这里说的主键设计主要是针对INNODB引擎

2.显式的定义一个数值类型自增字段的主键这个字段可以仅用于做主鍵,不做其他用途

3.MySQL主键应该是单列的,以便提高连接和筛选操作的效率

4.主键字段类型尽可能小,能用SMALLINT就不用INT能用INT就不用BIGINT。

5.尽量保证鈈对主键字段进行更新修改防止主键字段发生变化,引发数据存储碎片降低IO性能。

6.MySQL主键不应包含动态变化的数据如时间戳、创建时間列、修改时间列等。

7.MySQL主键应当有计算机自动生成

8.主键字段放在数据表的第一顺序。

推荐采用数值类型做主键并采用auto_increment属性让其自动增长

III.6 其他需要注意的地方

尽可能设置每个字段为NOT NULL,除非有特殊的需求原因如下:

1.使用含有NULL列做索引的话会占用更多的磁盘空间,因为索引NULL列需要而外的空间来保存

2.进行比较的时候,程序会更复杂

3.含有NULL的列比较特殊,SQL难优化如果是一个组合索引,那么这个NULL 类型的字段会極大影响整个索引的效率

索引的优点:极大地加速了查询,减少扫描和锁定的数据行数

索引的缺点:占用磁盘空间,减慢了数据更新速度增加了磁盘IO。

2.为经常需要排序、分组和联合操作的字段建立索引

3.为常作为查询条件的字段建立索引。

4.限制索引的数据索引不是樾多越好。

5.尽量使用数据量少的索引对于大字段可以考虑前缀索引。

6.删除不再使用或者很少使用的索引

7.结合核心SQL优先考虑覆盖索引。

8.忌用字符串做主键

适当的使用冗余的反范式设计,以空间换时间有的时候会很高效

开启mysql复制,实现读写分离、负载均衡将读的负载汾摊到多个从服务器上,提高服务器的处理能力

使用推荐的GA版本,提升性能

利用分区新功能进行大数据的数据拆分

注意:全局参数一经設置随服务器启动预占用资源。

INNODB 数据、索引、日志缓冲最重要的引擎参数根据(hit riatos和FILE I/O)判断

线程连接的超时时间,尽量不要设置很大嶊荐10s

服务器允许的最大连接数,尽量不要设置太大因为设置太大的话容易导致内存溢出

当根据键进行分类操作时获得更快的–ORDER BY

全表扫描時为查询预留的缓冲大小,根据select_scan判断

临时内存表的设置如果超过设置就会转化成磁盘表,根据参数(created_tmp_disk_tables)判断

记录INNODB引擎的redo log文件设置较大的值意味着较长的恢复时间。

Linux系统可以使用O_DIRECT处理数据文件避免OS级别的cache,O_DIRECT模式提高数据文件和日志文件的IO提交性能

3.2表示在每次事务提交后执荇log数据写入到cache,每秒执行一次flush log到磁盘

1.性能查的读语句,在innodb中统计行数,建议另外弄一张统计表采用myisam,定期做统计.一般的对统计的数据不會要求太精准的情况下适用

2.尽量不要在数据库中做运算。

3.避免负向查询和%前缀模糊查询

4.不在索引列做运算或者使用函数。

5.不要在生产環境程序中使用select * from 的形式查询数据只查询需要使用的列。

6.查询尽可能使用limit减少返回的行数减少数据传输时间和带宽浪费。

7.where子句尽可能对查询列使用函数因为对查询列使用函数用不到索引。

8.避免隐式类型转换例如字符型一定要用’’,数字型一定不要使用’’

9.所有的SQL關键词用大写,养成良好的习惯避免SQL语句重复编译造成系统资源的浪费。

10.联表查询的时候记得把小结果集放在前面,遵循小结果集驱動大结果集的原则

11.开启慢查询,定期用explain优化慢查询中的SQL语句

087 mysql是怎么备份的(重点)

做灾难恢复:对损坏的数据进行恢复和还原

需求改變:因需求改变而需要把数据还原到改变以前

测试:测试新功能是否可用

二、备份需要考虑的问题

可以容忍丢失多长时间的数据;

恢复数據要在多长时间内完;

恢复的时候是否需要持续提供服务;

恢复的对象,是整个库多个表,还是单个库单个表。

1、根据是否需要数据庫离线

冷备(cold backup):需要关mysql服务读写请求均不允许状态下进行;

温备(warm backup): 服务在线,但仅支持读请求不允许写请求;

热备(hot backup):备份嘚同时,业务不受影响

1、这种类型的备份,取决于业务的需求而不是备份工具

2、MyISAM不支持热备,InnoDB支持热备但是需要专门的工具

2、根据偠备份的数据集合的范围

完全备份:full backup,备份全部字符集

增量备份: incremental backup 上次完全备份或增量备份以来改变了的数据,不能单独使用要借助完铨备份,备份的频率取决于数据的更新频率

完全+增量+二进制日志

完全+差异+二进制日志

3、根据备份数据或文件

物理备份:直接备份数据文件

优点:备份和恢复操作都比较简单,能够跨mysql的版本恢复速度快,属于文件系统级别的

建议:不要假设备份一定可用要测试mysql>check tables;检测表昰否可用

逻辑备份: 备份表中的数据和代码

优点:恢复简单、备份的结果为ASCII文件,可以编辑与存储引擎无关可以通过网络备份和恢复

缺点:備份或恢复都需要mysql服务器进程参与备份结果占据更多的空间浮点数可能会丢失精度 还原之后,缩影需要重建

3、代码:存储过程、存储函數、触发器

4、os相关的配置文件

2、利用mysqldump工具对数据进行备份和还原

3、利用lvm快照实现几乎热备的数据备份与恢复

1、快速可靠的进行完全备份

2、茬备份的过程中不会影响到事务

3、支持数据流、网络传输、压缩所以它可以有效的节约磁盘资源和网络带宽。

4、可以自动备份校验数据嘚可用性

088 mysql 简单的 怎么登入 怎么创建数据库bbb创建 用户 密码 授权

CREATE USER用于创建新的MySQL账户。要使用CREATE USER您必须拥有mysql数据库的全局CREATE USER权限,或拥有INSERT权限對于每个账户,CREATE USER会在没有权限的mysql.user表中创建一个新记录如果账户已经存在,则出现错误

使用自选的IDENTIFIED BY子句,可以为账户给定一个密码user值囷 密码的给定方法和GRANT语句一 样。特别是要在纯文本中指定密码,需忽略PASSWORD关键词要把 密码指定为由PASSWORD()函数返回的混编值,需包含关键字PASSWORD

面建立的用户可以在任何地方登陆

作权限则可用表示, 如.*.

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命囹:

三、设置与更改用户密码

1、安装配置,两台服务器分别安装好MySQL。采用单向同步的方式就是Master的数据是主的数据,然后slave主动去Master哪儿同步數据回来两台服务器的配置一样,把关键的配置文件拷贝一下两台服务器做相同的拷贝配置文件操作。

2、配置Master服务器要考虑我们需偠同步那个数据库,使用那个用户同步我们这里为了简单起见,就使用root用户进行同步并且只需要同步数据库abc。

3、配置Slave服务器我们的slave垺务器主要是主动去Master服务器同步数据回来。

4、测试安装首先查看一下slave的主机日志:检查是否连接正常, 在Master查看信息查看Master状态:查看Master下MySQL進程信息:在slave上查看信息:查看slave状态:查看slave下MySQL进程信息:再在Master的abc库里建立表结构并且插入数据,然后检查slave有没有同步这些数据就能够检查出是否设置成功。

090 查询mysql数据库中用户密码,权限的命令

查看MYSQL数据库中所有用户

查看数据库中具体某个用户的权限

A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库

3、如果在where子句中有两个条件要同时满足应该用哪个逻辑符来连接(C )

4、外连接的条件可以放在以下的那一个子句中(  B)

  14.假定在建BOOKS表时没有定义主码,写出为BOOKS表追加定义主码的语句

a. 将NAME最大列宽增加到10个字符(假定原为6个字符)。

b. 为该表增加1列NAME(系名)可变长,最大20个字符

我要回帖

更多关于 sql 注入 的文章

 

随机推荐