Mysql常用命令

基础操作

查看 mysql 安装路径: select @@basedir as basePath from dual

mysql命令中退出mysql: exit

cmd清屏: cls

mysql 28000错误: cmd输入services.msc,打开服务管理界面,将mysql关闭一次重启即可解决。

查看数据库: show databases;

打开数据库: use 需要打开的数据库名称;

创建数据库

一般创建:  create database 数据库名称;

不存在并新建: create database if not exists 数据库名称;

删除数据库

一般删除: drop database 数据库名称;

存在并删除: drop database if exists 数据库名称;

创建表

create table 表格名称;

删除表

drop table 表格名称;

插入数据

插入一条: insert into 表格名称(字段,字段) values(内容,内容);

插入多条: insert into 表格名称(字段,字段) values(内容,内容),(内容,内容);

查询数据及函数处理

按照要求查询: select 字段名 from 表名 where 要求;

给查询字段指定别名: select 字段名 as 别名 from 表名 where 要求;

查询整张表格: select * from 表名;

升序降序查询: select * from 表名 order by 排序字段 asc(desc);

模糊查询: select * from 表名 where 查询字段 like "%xx%";

按照条件查询整条信息: select * from 表名 where 条件

正则表达式查询数据: select * from 表名 where 字段 regexp '^[查询条件]'

字符串形式查询数据: select concat(字段,'=>',字段) from 表名;

按照范围查询数据: select * from user where id in(范围数值,范围数值,范围数值);

format函数查询: select format(字段,保留小数点后几位数) from 表名; //解释:按照指定位数四舍五入处理数据,并且输出的是字符串类型数据。

abs函数[绝对值]:select abs(字段) from 表名;

mod函数[余数]: select mod(字段,被除数) from 表名;

ceil和floor函数[小数向上或向下取整]: select ceil(字段) from 表名;

rand函数[随机数]: select 字段 * rand() from 表名 where 条件;

round函数[四舍五入]: select round(字段,保留小数点后几位数位数) from 表名;

truncate函数[不管四舍五入,直接截取位数]: select truncate(字段,3) from 表名;

sign函数[正数返回1,负数-1,0就是0]: select sign(*) from 表名;

pow[幂运算]: select pow(2,3);

查询name开头是a-c的数据: select * from user where name regexp '^[a-c]'

指定以 demigod => 88 这种形式展示结果: select concat(name,"=>",score) from user;

查询id=2,3,4的数据: select * from user where id in(2,3,4);//查询条件可以是字符串

成绩保留小数点后3位展示: select format(成绩,3) from user;

绝对值展示: select abs(指数) from user;

余数展示: select mod(9,2) from user; //结果: 1

向下或向下取整: select (floor)ceil(2.3) from user; //结果: (2)3;

查询字段乘以一个随机数: select score * rand() from user where id = 1;

四舍五入1.23456: select round(1.23456,3) from user; //结果: 1.235

1.23456截取小数点后3位: select truncate(1.23456,3) from user; //结果: 1.234

判断数字正负数类型 : select sign(1.212),sign(0),sign(-12) from user; //结果1,0,-1;

幂运算2的3次方: select pow(2,3); //结果 8

修改数据

update 表名 set 修改部分 where 要求;

增加字段

alter table 表名 add 字段名 字段要求;

删除字段

alter table 表名 drop 字段名;

复制表格

部分复制[所有内容]: create table 新建的表名 select 字段,字段 from 需要被复制的表名;

整表复制[所有内容]: create table 新建的表名 select * from 需要被复制的表名;

只复制表结构:create table 新建的表名 like 需要被复制的表名;

查看表结构

describe[简写desc] 表名;

重命名表格

rename table 旧表名 to 新表名;

alter table 旧表名 rename 新表名;

删除表格数据

delete from 表名 where 条件;

两个表外键关联

A表:
create table A(
    id int primary key auto_increment,
    name varchar(8) not null,
    password varchar(8) not null
)
B表:[关联A表的id]
create table B(
    id int primary key auto_increment,
    name varchar(8) not null,
    f_id int,
    foreign key(f_id) references A(id);
)
查询方法1:
    select * from user,friend where A.id = friend.f_id;
    等同于 select * from A join B on A.id = B.f_id;
    查询结果两张整表拼接在一起。
查询方法2:
    左键关联查询:[A表数据多于B表,结果为展示整张A表,B表没有的全部显示null]
    select * from A left join B on A.id = B.f_id;
    右键关联查询:[A表数据多于B表,结果为展示整张B表,展示所有B表数据]
    select * from A right join B on A.id = B.f_id;

根据类型求和

表格:
    id    type    name    age
    1    a    张三    18
    2    b    李四    19
    3    b    王五    20
    4    c    赵六    19
    5    a    谭七    22
    6    c    钱九    23
    7    a    孙十    18
    8    d    李零    23

    计算每种类型的年龄总和: select type,sum(age) from 表名 group by type;

结果: 
    type    age
    a    58
    b    39
    c    42
    d    23

    拓展:查询出来对sum排序

升序: select type,sum(age) from massage GROUP BY type order by sum(age) asc;

降序: select type,sum(age) from massage GROUP BY type order by sum(age) desc;

数据库内查询某个字段

select * from information_schema.columns where column_name= '字段名';

说明

原创作品,禁止转载和伪原创,违者必究!

你可能感兴趣的:(Mysql常用命令)