
1.load data infile
?View Code MYSQL
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char' ]
]
[LINES
[STARTING BY 'string']
[TERMINATED BY 'string']
]
[IGNORE number LINES]
[(col_name_or_user_var,...)]
[SET col_name = expr,...)]
LOAD DATA INFILE语句用于高速地从一个文本文件中读取行,并装入一个表中。
这是一个很危险的内置函数,所以一般建议禁用掉(除非程序有用到本地文件)
通过在my.cnf中设置
1
local-infile=0|1 0表示禁用,1表示开启
2.load_file函数
这个函数和上面的load data 函数类似,都是读取本地文件,对于load_file(filename)函数的使用有如下的条件限制:
读取文件并将这一文件按照字符串的格式返回。 文件的位置必须在服务器上,你必须为文件制定路径全名,而且你还必须拥有FILE 特许权。文件必须可读取,文件容量必须小于 max_allowed_packet字节。
若文件不存在,或因不满足上述条件而不能被读取, 则函数返回值为 NULL。
这个主要通过mysql授权来禁用这个函数,收回用户的file权限
1
revoke file on *.* from 'user'@'IP'//或者不要授予用户的file权限
3.禁用drop命令
1
revoke drop on *.* from 'user'@'IP'
允许空值的意思。
允许空值和有默认值并不冲突,插入数据时如果指定使用默认值,它会使用这个默认值0,如果插入数据时不指定这一列,它会保持空值。
空值是不占用空间的,MySQL中的NULL其实是占用空间的。
扩展资料:
使用NULL可以区分“没有输入数据”和“输入空数据”, 差异在于:
NULL的长度就是NULL,空字符串的长度为0。
一串NULL数据比空字符串优先排序。
COUNT(message)会将空字符串计数进去,但是不会将NULL数据们计入。
可以使用绑定变量搜索某个空字符串,但是不可以这样搜索NULL。
在SQL中,NULL值与任何其它值的比较(即使是NULL)永远不会为“真”。包含NULL的表达式总是会导出NULL值,除非在关于 *** 作符的文档中以及表达式的函数中作了其他规定。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)