查询所有用户
select user,host from user;
新增用户
create user xinjing@'%' IDENTIFIED? by '123';? --%是主机域? --by里面时MySQL密码
用户名可以为空 用 ‘ 单引号表示
删除用户
drop user xinjing@'%’;
用户授权
grant all PRIVILEGES on student .* to 'xinjing'@'%'? IDENTIFIED? by '123' with? grant option;
查看用户授权情况
show grants for xinjing@'%';
回收用户权限
revoke all PRIVILEGES on student.*? from 'xinjing'@'%';
常用命令
select version();? 服务器版本信息
select database(); 当前数据库名
select user();当前用户状态
show? status; 服务器状态
show variables; 服务器配置变量
show global variables like '%datadir%';看数据文件存放位置
select @@datadir;查询数据库的路径
select @@basedir;查询mysql安装路径
--联合查询 union
--union查询就是把2条或者多条sql语句的查询结果,合并成一个
--要求结果集中的列数一只就可以
--union取出的最终列名,以第一条sql为准,查询默认会曲中,如果不想去重就用union all
下面为例题
use student;
create table temp1(
? ? ? ? uid int PRIMARY key? auto_increment,
? ? ? ? uname varchar(20) not null
)
insert into temp1(uname) values('zs').('ls'),('ll');
create table temp2(
? ? ? ? eid int PRIMARY key auto_increment,
? ? ? ? age int not null
)
insert into temp2(age) values(11),(19),(20);
select * from temp1;
select * from temp2;
select * from temp1 union select * from temp2;
select * from temp1 union select 1,2;
分组展示
select sid,GROUP_CONCAT(cid),GROUP_CONCAT(cj order by? cj? desc SEPARATOR '? ') from score GROUP BY sid?
select lower(columnlstr)? ?将字符串全部转换为小写字母? '? '
select upper(columnlsre) 将字母串全部转换为大写
select concat(columnlstr1,columnlstr2,..)? 将多个字符串首尾相连后返回
select concat_ws(separator,srt1,str2,...)? ?将多个字符串指定连接符separator的首尾相连后返回
select substr(str,pos,[len])? 从字符串中的指定位置pos开始取一个字串返回
select? length(str)? ?返回字符串的存储长度
select? char_length(str) 返回字符串的字符个数
mysql 数据库导入导出
--表数据(记录)导入导出
--导出为txt文件
select * from demo1 into outfile '路径';
use student;
show VARIABLES like "secure_file_priv";
--导入txt文件
load data local infile '/root/utemp1data.txt' into table temp;? ? Linux中
不用进入数据库里面。可以直接在Linux的命令行运行或者cmd运行
--mysqldump 导出
--dump出表utemp1
mysqldump -uroot -p student utemp1 >utemp1.sql;
--dump出库student?
mysqldump? -uroot -p student > student.sql;
--dump所有的数据库及数据库表
mysqldump? -u root? -p --all-databases > mysqldatabases.sql;
--mysql的数据库导入"<"
--新建一个数据库
create database dumpdemo01
-回到mysql接口
mysql -u root -p数据库密码? dumpdemo01 <student.sql? ?--注意-p后面不要有空格
--进入mysql验证
use dumpdemo1
show tables;
另一个导入
在mysql里面
source? ?导入数据库的路径