数据库基础指令总结

简介:

数据库

创建数据库:create database name;
查看数据库:show datables;
创建指定字符集的数据库:create database name charset=utf-8;
创建数据库前进行判断是否存在:create database if not exists name cahrset=8;
选择数据:use name;
查看当前所在数据库:select database();
查看当前数据库编码格式:show variable like 'character_set_database';

修改数据库(修改其参数):alter databale name charset =utf8;
删除数据库:drop datable name;

引擎

三大引擎 Innodb MYSIAM(二者硬盘存储) MEMARY(基于显存 内存存储)
查看mysql支持的引擎:show engines;
查看默认引擎:show variables like 'default_storang_engines'
修改默认存储引擎:

创建表:create table if not exists table(id int not null auto_increment,age int not null default 0,primary key(id));
查看表:show tables;
查看表详情信息(具体的表):show create table name;
产看表结构 全部:DESC name;
产看表结构 列:DESC name age;
更新表(能更新不推荐):alter table;
添加新字段:alter table name add(id,int);
修改字段名:alter table name change name name1 int;
删除字段名:alter table name drop age;
修改表名: alter table bm name as bm1;
重命名表: alter table name bm to bm1;
删除表: drop table name;
复制表(注意顺序):create table name like name1;

表内容操作

插入完整行 完全插入:insert into name values(id,age);
查询插入行:select * from name;
不完全插入:insert into name(age,num) values(18,88)
多行插入:insert into name(age,num) values(77,66),(33,11)
一个表插入到另一个表:insert into name (age,num) select age,num from name1 ;
删除
删除指定一行:delete from name where id=11;
删除所有:delete from name;

改单列:update name set age=22 where id =1;
改多列:update name set age=22,name=''xx where id =3;
删除某个列的值,可以设置这个列的值为空:
update name set age=null where id =5;

MYSQL检索数据
检索单列:select age from name;
检索多列:select age,num from name;
检索所有列:select * from name;
检索不同的行,去重:select distinct(age) from name;
使用完全限定的表名(同时使用表名和列名):select name.age from name;
完全限定名使用场景:如果只在自己内部使用,那么完全限定名基本上是不用的,这种情况太简单了。那么什么时候去使用呢?比如村里有两家分别叫王a和王b,并且两家都有个孩子叫王小三,这两个王小三并且在一个班级学习上课,那么老师叫王小三,这两个孩子就不知道叫谁了。说王a家王小三,那么王a家王小三就会知道是他。所以当在单表内查询时一般不用完全限定名,只有多个表涉及到相同的列名时,才会使用到完全限定名。比如用户表有个列叫name,商品表有个字段叫name,当查询时只使用name,那么数据库是不知道叫用户的name,还是商品的name,此时完全限定名就可以体现出来。使用完全限定名的作用就是防止歧义的发生!
= 等于:select * from name where age=10;
<> 不等于:select * from name where age<>10;
!= 不等于:select * from name where age!=10;
< 小于 (一般情况下后面会跟数字):select * from name where age<10;
<= 小于等于:select * from name where age<=10;
> 大于:select * from name where age>10;
>= 大于等于:select * from name where age>=10;
BETWEEN .. AND ..在指定的两个值之间:select * from name where age between 10 and 20;
空值检查(IS NULL):select * from name where age is null;
组合WHERE子句
AND:select * from name age=10 and num=1;
OR:select * from name where age=10 or num=2;
IN:select * from name where age in(10,20);
NOT:select * from name where age not in (10,20);

通配符:
%:select * from bm where name like '李%';
_:select name from bm where name like '__';

mysql正则:select * from bm where name regexp '^李'

排序
单列
升序:select age from bm order by age asc;
降序:select age from bm order by age desc;
多列
升序:select age,num from bm order by age asc,num asc;
降序:select age,num from bm order by age desc,num desc;
条件排序:
限制查询
指定返回行数:select age from bm limit 1;
指定从几行起,返回几行:select age from bm limit 1,5;
order by和limit的组合使用
取最小值:select age from bm order by age asc limit 1;
取最大值:select age from bm order by age desc limit 1;

聚合函数
返回某列平均值:avg
返回某列行数:count
返回某列最大值:max
返回某列最小值:min
返回某列之和:sum
聚集不同值:select sum(disdinct age) from bm ;
组合聚集函数:select sun(age),min(nun) from bm;

分组
分组(单独用无意义)+聚合函数:select count(*)age from bm group by age ;
group by + group_concat():select count(*)age,group_concat(num) from bm group by age ;
增加显示字段分组结果
group by + group_concat+聚合函数:select count(*)age,group_concat(num) from bm group by age
group by + group_with rollup:
select count(*)age from bm group by age with rollup;

HAVING
组合
分组和排序:select count(*)age from bm where age>1 group by age having age>2 order by age desc;
分组和排序、限定查询:select count(*)age from bm where age>1 group by age having age>1 order by age desc  limit 2;

image

image

目录
相关文章
|
3月前
|
SQL 关系型数据库 MySQL
sql数据库指令
SQL(Structured Query Language,结构化查询语言)是用于管理关系数据库的标准编程语言。以下是一些常用的SQL数据库指令: 1. **创建数据库** ```sq
|
4月前
|
NoSQL Shell MongoDB
NoSQL数据使用指令和引擎连接数据库实例
【5月更文挑战第8天】本文介绍了MongoDB的本地使用和常用操作,包括通过mongo shell连接数据库、显示数据库和集合,以及副本集设置。最后提到了MongoDB的日志功能和顶点集的使用,如capped collection的创建和管理。
61 3
|
关系型数据库 MySQL Linux
linux下mysql数据库操作指令(流程)
MySQL 是最流行的关系型数据库管理系统之一,属于 Oracle 旗下产品
199 0
|
关系型数据库 MySQL 数据库
MySQL数据库,常用指令详解
本期讲解:mysql中常用指令详解
|
NoSQL Linux 数据库
Redis学习8:key通用指令操作、数据库通用指令操作
key的基本通用操作:删除 获取 查询是否存在及获取类型
Redis学习8:key通用指令操作、数据库通用指令操作
|
小程序 数据库
云开发入门教程-数据库查询指令介绍-等值查询
云开发入门教程-数据库查询指令介绍-等值查询
云开发入门教程-数据库查询指令介绍-等值查询
|
关系型数据库 MySQL 数据库
MySQL数据库常用的指令 -- 持续更新
MySQL数据库常用的指令 -- 持续更新
110 0
MySQL数据库常用的指令 -- 持续更新
|
SQL 关系型数据库 MySQL
SQL数据库操作指令
SQL数据库操作指令
|
SQL 存储 NoSQL
Mongodb数据库常用指令归纳整理(详解)
Mongodb数据库常用指令归纳整理(详解)
351 0
|
存储 Oracle 关系型数据库
Oracle数据库常用十一大操作指令(六)
DBA们每天会用到大大小小很多指令,本文对这些指令做了归纳总结,希望可以帮助大家查阅翻看。
Oracle数据库常用十一大操作指令(六)

热门文章

最新文章

下一篇
云函数