备忘录
此条更新于2021-09-11
1 2 3 4 select [content] into outfile "file_name" #该命令作用将查询结果输出保存到一个文件中LOAD_FILE()函数读取一个文件并将其内容作为字符串返回。 CVE-2012 -2122 漏洞
此条更新于2021-09-01
1 2 3 4 5 6 7 8 9 10 11 问题处理:当忘记Mysql数据库密码 1. vim / etc/ my.cnf2. 在最后添加一行代码:skip - grant - tables,保存并退出3. 重启mysql服务,进入数据库,如果遇到Enter Password: 直接回车进入4. 修改密码update mysql.user set password= password('12345' ) where user = 'root' ;5. 改好了密码再弄回原样,进入配置文件,删掉这一行:skip - grant - tables,重启数据库
日常使用 常用命令
注意,这里的常用命令后面都不用加分号
1 2 3 4 show databases / / 列出所有数据库show tables / / 列出当前数据库下的所有表desc 表名 / / 查看指定表的列和数据类型use 数据库名 / / 进入指定数据库
常用函数
注意,最后面要有分号表示结束
1 2 select database(); / / 显示当前所在的数据库select user (); / / 查看当前用户
sql基础-查询 这是sql的查询语句,属于最常用的一种
1 2 3 4 / / 语法格式select 列名称 from 表名称; / / 表示我要查看哪个表里面的哪一列的内容select * from 表名称; / / 表示查看指定表的所有列例:select user ,password from mysql.user; / / 表示我要查看mysql库里面user 表的用户名和密码
注意:sql的每一句都要在其后面加上;表示命令结束
效果图奉上:
sql基础-删除 -drop 删除的方法有两种语句,一个是drop,一个是delete from。两个的区别就是前者比较狠,删东西很干净,后者反之。在这我们先讲drop,后讲delete from
1 2 3 4 / / 语法格式drop database 数据库名; / / 删除数据库以及该数据库下的所有内容drop table 表名; / / 删除表以及该表以下的所有内容例:drop database test; / / 删除test数据库
-delete from 1 2 3 / / 语法格式delete from 表名称 where 列名称 = 值;例:delete from mysql.user where password= 'abc' ; / / 删除密码是'abc' 的用户
sql基础-增添用户 -create 增添用户的方式有两种,一种是创建用户的后的密码自动进行md5加密,另一种则不自动进行md5加密。我们先说第一种
1 2 3 4 / / 语法格式create user 用户名 identified by '密码' ;例:create user user1 identified by '123456' ;
这种方式也可以用来创建数据库/表
1 2 3 / / 语法格式create database 数据库名;例:create database demo
1 2 3 4 / / 语法格式create table 表名(列名称1 数据类型); 例:create table fiction( story varchar (5 ) );
附:sql常用数据类型表
-insert 1 2 3 / / 语法格式insert into table_name (列1 , 列2 ,...) value (值1 , 值2 ,....);例:insert into user (user ,password) value ('user1' ,'123456' ); / / 插入一个user1用户到user 表
sql基础-改 如果你想改变表中的数据,那就得用到update语句,这是最常用的方式
1 2 3 4 / / 语法格式update 表名 set 列名= 新值 where 列名= 某值; update 表名 set 列名= 新值,列名= 新值 where 列名= 某值; / / 如果你想修改某一列的多个值 例:update mysql.user set password= 'abcde' where user = 'user1' ; / / 将user1的密码改为'abcde'
拓展 -where where后面跟条件,表示如果该sql子句符合where后面的条件,执行该子句;如果不符合where后面的条件,则忽略。
-and and通常用于where跟多个条件。如果第一个条件和第二个条件都成立,则and运算符显示一条记录。
1 例:数据库内存在多个同名user1,而我只想更改密码为abcde的用户的host
-or or与上面的and差不多,or表示的是如果第一个条件和第二个条件中只要有一个成立,则or运算符则or运算符显示一条记录。
1 例:我想将数据库中用户名为user1,或者主机为localhost的密码都更改为456789