说明:对mysql数据库常用命令的整理
适用:mysql5.5+

一、Mysql的基本操作命令
查看所有数据库

show databases;

使用数据库

use mysql;

显示数据库中的表

show tables;

创建数据库 编码为utf8

create database 数据库英文名称 charset utf8;

删除数据库

drop database 数据库英文名称;

创建表 需先use数据库库名

use 表所在的数据库名;

创建a表,包含字段sid

create table a(sid tinyint);

向表a插数据

insert into a set sid=1;
insert into a  set sid=2;

查询表a的数据

select * from a;

删除表a

drop table a;

创建新a表

create table a(sid tinyint,money decimal(5,2));

插入数据

insert into a set sid=1,money=288;
insert into a set sid=1,money=18;
insert into a set sid=1,money=99.235;

字段类型说明:
1.char(数字)字符串类型,只能存多少个字符
2.char和varchar区别

   查询速度,char优于varcharchar(5) 1个字符串,那么也是占5个 定长存储大小,varchar优于charvarchar(5) 1个字符,就占一个 变长

3.前导零 zerofill 偶尔会把类型变正数范围

tinyint(10)  存1位数字,会补充9个零

4.非负 unsigned,把字段类型变正数范围

create table a(sid tinyint unsigned);

5 enum 枚举 单选

create table a(sid tinyint unsigned,nickname char(20),sex enum('男','女'));

6.set 多选

create table stu(sid tinyint unsigned,nickname char(20)sex enum('男','女'),play set('篮球','排球','抖音','PHP')
);

单条数据存入实例:

insert into a set sid=1,nickname ='chtml.cn',sex=1,hobby='篮球,排球,PHP';

二、Mysql的进阶操作命令
查看表结构:

desc stu;

default 字段默认值,一般not null 和 default 和结合起来使用的

create table b(uid smallint unsigned not null default 0,nickname char(20) not null default ''
);

unique 非重

create table b(uid int unsigned,author_num char(20) not null default '' unique,password char(32) not null default ''
)

主键 primary key,自增 auto_increment

create table c(arc_id int unsigned primary key auto_increment,title char(200) not null default '',content text,click smallint unsigned not null default 0
);

删除arc_id为2的数据

delete from c where arc_id=2;

复制b表为b_bak
1.不复制内容

create table b_bak like b;

2.把b表的数据复制到b_bak

insert into b_bak select * from b;

3.创建nb表同时复制数据

create table nb_bak1 select * from b;

查询所有

select * from arc;

查询arc_id

select arc_id from arc;

查询指定字段

select 字段名,字段名 from 表名;

别名 as

select 字段1,字段2 as 新字段2 from 表名;

where 代表条件

select * from 表名  where 字段id>1 and 字段2>10;

concat连接字符串

select concat(字段1,'-',字段2) as 新字段2 from 表名;

±-------------------------------------------------+
| 新字段2 |
±-------------------------------------------------+
| 字段1的内容-字段2的内容 |
±-------------------------------------------------+

查询结构与自身比较

select 字段1,字段1>50  as 新字段2 from 表名;

±------±–+
| 字段1| 新字段2 |
±------±–+
| 100| 1 |
| 30| 0 |
| 30| 0 |
±------±–+

把字段重复的值去掉

select distinct(字段) from 表名;

查找set类型数据

create table a(sid int unsigned primary key auto_increment,nickname char(200) not null default '',hobby set('篮球','足球','PHP','抖音')
);

查找hobby中的篮球
1.find_in_set() 不常用

select * from 表名 where find_in_set('篮球',hobby);

2 &1 &2 不推荐

select * from 表名 where hobby &1;

3.like 匹配 推荐

select * from 表名 where hobby like '%篮球%';

查询字段 为null的数据

select * from 表  where 字段  is null;

查询并赋值一个新的数据的if使用

 select click,if(click>5,'多','少') as tips from 表名;

±------±----+
| click | tips |
±------±----+
| 10 | 多 |
| 1| 少 |
| 1 | 少 |
±------±----+

order 排序 【desc 降序 asc 升序】
创建bd表

create table bd(bid int unsigned primary key auto_increment,name char(100) not null default '',sort smallint unsigned not null default 0
);

插入测试数据

insert into bd set name='腾讯搜索',sort=9;
insert into bd set name='360搜索',sort=10;
insert into bd set name='google搜索',sort=9;

修改bid为1的数据中的sort变为112

update bd set sort=112 where bid=1;

排序,升序

select * from bd order by sort asc;

降序

select * from bd order by sort desc;

limit 截取

1.limit 1 从0截取1条
select * from bd limit 1;
2.imit 1,2 从1截取2条
select * from bd limit 1,2;

between 10 and 20 【查找10到20之间的值,包括10和20】

select * from bd where sort between 10 and 20;

查询10或者15的数据

select * from bd where sort in(10,15);

查找以特定字符“x”开头的数据

select * from 表名 where 字段名 like "x%";

查找包含特定字符“x”的数据

select * from 表名 where 字段名 like "%x%";

查找包含特定字符“x”结尾的数据

select * from 表名 where 字段名 like "%x";

包含特定字符“x”开头后面跟一个字符的数据

select * from 表名 where 字段名 like 'x1';

把字段从左边截取一位字符

select left(字段,1) from 表名;

把字段从第二个位置截取一个字符串

select mid(字段,2,1) from 表名;

把字段从右边截取一位字符

select right(字段,1) from 表名;

随机查询一条数据

select * from 表名 order by rand() limit 1;

设置字符集utf8

set names utf8;

查看字符集变量

show variables like "%character%";

要查看的选项

character_set_client     | gbk    //客户端
character_set_connection | gbk    //连接端
character_set_results    | gbk    //结果端

三、mysql批量操作、统计与分组
录入多条数据;

insert into 表名 (字段1,字段2) values ('第一条数据1','1'),('第二条数据2','2');

清空表的所有数据 【一般不使用,通常需要做好安全机制过滤这条命令】

truncate 表名;

字段数据为1的记录,如果没有就添加,如果有就替换;

replace into 表名 (字段,字段2,字段3) values (1,'原有数据','新数据');

修改 【where可不加,可以修改全部数据,谨慎操作】

update 表名 set 字段='新的数据' where 字段=条件值;

删除【where可不加,可以删除全部数据,谨慎操作】

delete from 表名 where 字段=条件值;

把a表改名为b【修改表的名字】

alter table a rename b;

change 命令可以 改名同时改类型

把s改成sn,然后类型改为char(150)
alter table 表名 change s  sn char(150) not null default '';

modify命令改类型

alter table 表名 modify sn char(13) not null default '' first;

modify命令 修改sn为char(30)并且放在id字段的后面

alter table 表名 modify sn char(30) not null default '' after id;

add命令追加新字段

给表追加sx字段,并且在sn字段的后面
alter table 表名 add sx enum('1','2') not null default '1' after sn;

删除字段

alter table 表名 drop 字段名;

增加表的主键

alter table 表名 add primary key(id);

增加主键字段的自增

alter table 表名 modify id int unsigned auto_increment;

主键删除需要先删自增

alter table 表名 modify id int unsigned;

然后再删除主键

alter table 表名 drop primary key;

date类型说明:日期格式的数据存储。如2022-7-10

mysql输出现在的时间

select now();

统计表的数据总数

select count(*) from 表名;

查找字段中最小的数据

select min(字段名称) from 表名;

查找字段中最大的数据

select max(字段名称) from 表名;

取得字段总和

select sum(字段名) from 表名;

取得字段平均数

select avg(字段名) from 表名;

字段分组,筛选字段【group by 、 having组合使用】

select * from 表名 group by 字段名 having 字段名='筛选条件值';

end:Mysql多表查询

查询多个表简单命令 【笛卡尔积(无意义的)】

select * from 表a,表b;

加限制条的 【笛卡尔积(有意义的)】

select * from 表名a as a,表名b as c where a.id=c.id;

查询指定字段

select id,字段2,字段3 from 表名a as a,表名b as c where a.id=c.id;

内部连接 inner join

select * from 表名a as a join 表名b as c on a.id=c.id;

inner join 关联之后的where的使用

select * from 表名a as a join 表名b as c on a.id=c.id where a.id=20;

右连接 right join 【右表有数据就会有数据】

select * from 表名a as a right join 表名b as c on a.id=c.id;

多表查询命令说明:

与单表查询一直,在表连接后,拼接条件即可查询。

Mysql数据库常用命令,mysql速学实用教程。相关推荐

  1. MySQL 数据库常用命令—where like union 排序 分组 连接

    引言 本篇博客对 MySQL 数据库的一些命令进行分享. where 语句 基本语法规则: select field1, field2,...fieldN from table_name1, tabl ...

  2. MySQL 数据库常用命令小结

    MySQL 数据库常用命令 1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删 ...

  3. CentOS下MySQL数据库常用命令总结 (资源)

    2019独角兽企业重金招聘Python工程师标准>>> MySQL分支 Percona和MariaDB MySQL查询过程 注意 : 在进行 MySQL 的优化之前必须要了解的就是 ...

  4. MySQL 数据库常用命令

    引言 在前面博客中,有提到用 mysql 作为数据库进行测试.在这里对 mysql 及其常用命令进行简单介绍,起到抛砖引玉的作用. MySQL 介绍 MySQL 是一个关系型数据库管理系统,由瑞典 M ...

  5. MySQL 数据库常用命令—insert delete update select

    引言 MySQL 数据库和其它的数据库一样,也支持增(insert)删(delete)改(update)查(select)操作. insert 基本语法规则 insert into table_nam ...

  6. MySQL数据库常用命令_常用SQL语句及命令_MySQL常用语句

    文章目录 一.常用的 SQL 语句 (一)查看当前登录用户 (二)查看当前数据库 (三)如何查看全部用户? (四)创建数据库 (五)选择要操作的数据库 (六)创建表 (七)查看表的结构 (八)往表中插 ...

  7. MySql数据库常用命令宝典

    对于MySql数据库的操作是使用命令行语句进行操作的,在此我总结出了MySql常用命令宝典供大家学习参考. 1.MySQL常用命令 创建数据库 create database student; 选择数 ...

  8. CentOS下mysql数据库常用命令总结

    mysql数据库使用总结 本文主要记录一些mysql日常使用的命令,供以后查询. 1.更改root密码 mysqladmin -uroot password 'yourpassword' 2.远程登陆 ...

  9. MySQL数据库常用命令与SQL简介(一)

      工作中MySQL数据库涉及5.6.*/5.7.*/8.0.*版本,本文就日常使用罗列笔记(基于Linux系统.MySQL8). 1. MySQL服务启动与关闭   MySQL启动脚本和支持的服务器 ...

最新文章

  1. Linux系统JDK安装和配置
  2. C语言二维数组的指针写法
  3. 背景全透明 background: transparent
  4. 1分钟破解3dState '学习版'得一些版权信息。
  5. 一个使用ABAP Push Channel开发的乒乓球游戏,可以双打
  6. 在outlook里设置程序员的996工作属性
  7. What is 测试金字塔?
  8. SUN服务器清除所有报错信息,SUN服务器可能遇到的问题总结.doc
  9. jQuery 3.5.0 发布
  10. 攻克前端开发的难点,码农不惧!!
  11. Spring RCE 漏洞 CVE-2022-22965 的终极解决方案
  12. HTML/HTML5/CSS/CSS3教程速查手册地址以及如何快速直到webkit的用法
  13. C#将图片转为二进制流
  14. winvnc异常,端口变为5901
  15. 如何调用阿里云、百度云API接口
  16. UltraEdit+Masm--打造自己的汇编IDE
  17. 问题 E: 天宝便利店
  18. Google Scholar引用没有GB/T
  19. Vue 项目性能优化方案
  20. vue移动端下拉刷新组件、上拉加载组件

热门文章

  1. lp3676 小清新数据结构题
  2. [转]mysql优化——show processlist命令详解
  3. Mycat分库路由规则
  4. Boolan STL 第三周笔记
  5. R语言是如何增强数据科学
  6. tomcat的jdbc连接池PoolExhaustedException 1
  7. windows CMD.exe下写路径太长的解决方案
  8. 基于CFS算法的schedule()源码分析
  9. 设计师应该尊重技术的限制
  10. H618B刷了tomato0530版本 呵呵,测试一下