一、基础操作
改属性名
alter table school change time ruxuetime datetime
改属性类型
alter table school modify sex INT
添加外键
alter table school add FOREIGN key(sex) REFERENCES tb_empl
更新数据
update school set sex=1 where id=1
删除数据
delete from school where id = 2
二、约束条件
| PRIMARY KEY | 标识该属性为该表的主键 |
| FOREIGN KEY | 标识该属性为该表的外键 |
| NOT NULL | 标识该属性不能为空 |
| UNIQUE | 标识该属性的值是唯一的 |
| AUTO_INCREMENT | 标识该属性的值自动增加 |
| DEFAULT | 为该属性设置默认值 |
三、建表与查询
批量插入数据
过滤
查表结构
去重
四、匹配查询
集合判断
范围判断
模糊匹配
通配符匹配
任意单字符匹配
五、多条件查询
and优先于or
记录条数限定
限定从第几行开始取几条数据
排序必须在limit前面(默认升序)
六、统计函数
获取查询条数
累加
分组累计
分组求均值
分组求最大最小值
七、正则表达式
Regexp 开头单字符匹配
末尾单字符匹配
“”不能 用于regexp关键字进行匹配
[]匹配包含的任意字符,如下匹配age里有3、0、6、5的所有数据
区间匹配,如下匹配4到5区间内所有字符的记录
^匹配指定字符以外的任意字符,如下剔除同时存在1、2、7中其中两个或三个的情况
或匹配
“+”:至少表示一个字符,如下,必须同时匹配34的所有字符
“*”:可以表示0个字符,如下,可匹配3或4的所有字符
{m}匹配指定字符出现多少次
{m,n}区间匹配指定字符出现多少次
查询函数 联合查询,两个表必须结构一致
按第几列排序,如下按第三列sex排序
八、截取函数
left(s,n)取s的第几个字符=表示做判断,符合返回1,否则返回0
substr(p,n)截取字符串,从位置p开始截取n个字符
mid用法和substr一样
九、系统函数
查询系统用户名
查询用户名
查询当前用户名
查询当前会话用户名
查询当前数据库名
如果从网页可以查到数据库名,则说明是漏洞
查询版本号
查询数据库路径,变量匹配
查询当前操作系统版本
系统函数汇总
$PARTITION 为任何指定的分区函数返回分区号,一组分区列值将映射到该分区号中。
ERROR_PROCEDURE 如果该错误导致执行了 TRY…CATCH 构造的 CATCH 块,此函数返回出现错误的存储过程或触发器的名称。
@@ERROR 返回执行的上一个 Transact-SQL 语句的错误号。
ERROR_SEVERITY 如果该错误导致执行了 TRY…CATCH 构造的 CATCH 块,此函数将在发生错误的位置返回错误的严重性值。
@@IDENTITY 返回最后插入的标识值的系统函数。
ERROR_STATE 返回导致 TRY…CATCH 构造的 CATCH 块运行的错误状态号。
@@PACK_RECEIVED 返回 SQL Server 自上次启动后从网络读取的输入数据包数。
FORMATMESSAGE 根据 sys.messages 中现有的消息或提供的字符串构造一条消息。 FORMATMESSAGE 的功能与 RAISERROR 语句的功能类似。 但是,RAISERROR 会立即打印消息,而 FORMATMESSAGE 则返回供进一步处理的格式化消息。
@@ROWCOUNT 返回受上一语句影响的行数。 如果行数大于 20 亿,请使用 ROWCOUNT_BIG。
GET_FILESTREAM_TRANSACTION_CONTEXT 返回表示会话的当前事务上下文的标记。 应用程序使用此标记可将 FILESTREAM 文件系统流式处理操作绑定到该事务。 有关 FILESTREAM 主题的列表,请参阅二进制大型对象 (Blob) 数据 (SQL Server)。
@@TRANCOUNT 返回在当前连接上执行的 BEGIN TRANSACTION 语句的数目。
GETANSINULL 返回此会话的数据库的默认为 Null 性。
BINARY_CHECKSUM 返回按照表的某一行或表达式列表计算的二进制校验和值。
HOST_ID 返回工作站标识号。 工作站标识号是连接到 SQL Server 的客户端计算机上的应用程序的进程 ID (PID)。
CHECKSUM CHECKSUM 函数返回按照表的某一行或一组表达式计算出来的校验和值。 使用 CHECKSUM 来生成哈希索引。
HOST_NAME 返回工作站名。
COMPRESS 此函数使用 Gzip 算法压缩输入表达式。 该函数返回类型 varbinary(max) 的字节数组。
ISNULL 使用指定的替换值替换 NULL。
CONNECTIONPROPERTY 对于进入服务器的请求,此函数会返回有关支持该请求的唯一连接的连接属性的信息。
ISNUMERIC 确定表达式是否为有效的数值类型。
CONTEXT_INFO 此函数返回通过使用 SET CONTEXT_INFO 语句为当前会话或批处理设置的“context_info”值。
MIN_ACTIVE_ROWVERSION 返回当前数据库中最低的活动 rowversion 值。 如果 rowversion 值用在尚未提交的事务中,则它处于活动状态。 有关详细信息,请参阅 rowversion (Transact-SQL)。
CURRENT_REQUEST_ID 此函数返回当前会话中当前请求的 ID。
NEWID 创建 uniqueidentifier 类型的唯一值。
CURRENT_TRANSACTION_ID 此函数返回当前会话中当前事务的事务 ID。
NEWSEQUENTIALID
DECOMPRESS 此函数使用 Gzip 算法解压缩输入表达式值。 DECOMPRESS 以 varbinary(max) 数据类型返回字节数组。
ROWCOUNT_BIG 返回已执行的上一语句影响的行数。 该函数的功能与 @@ROWCOUNT 类似,区别在于 ROWCOUNT_BIG 的返回类型为 bigint。
ERROR_LINE 此函数返回出现错误的行号,该错误导致执行了 TRY…CATCH 构造的 CATCH 块。
SESSION_CONTEXT 返回当前会话上下文中指定键的值。 使用 sp_set_session_context (Transact-SQL) 步骤设置值。
ERROR_MESSAGE 此函数返回错误的消息文本,该错误导致执行了 TRY…CATCH 构造的 CATCH 块。
SESSION_ID 返回当前 Azure Synapse Analytics 或 Analytics Platform System (PDW) 会话的 ID。
ERROR_NUMBER 此函数返回错误的错误号,该错误导致执行了 TRY…CATCH 构造的 CATCH 块。
XACT_STATE 用于报告当前正在运行的请求的用户事务状态的标量函数。 XACT_STATE 指示请求是否有活动的用户事务,以及是否能够提交该事务。