Mysql 基础命令大全

-- 显示所有的数据库
show databases;
-- 使用xxx数据库
use xxx;
-- 创建db_1数据库
create databases [if not exists] db_1[character set utf8mb4];
-- 删除db_1数据库
drop database (if exists) db_1;
-- 显示数据库的所有表
show tables;

-- 查看tb_1表结构
desc tb_1;
-- 创建表
-- comment 'a'  给字段备注a,数据库会保存 而--不会;
create table table_name (
field1 datatype,
field2 datatype comment 'a',
field3 datatype
);
-- 将desc 定义成关键字的方法
`desc` datatype;
-- 如果存在 tb_1 表,则删除 tb_1 表
drop table (if exists) tb_1;
-- 新增
insert into tb_1 values(------)(------);
insert into tb_1(id) values(a)(b);
-- 查询
--全列
select * from tb_1;
--运算,函数查询
select a+b,a*b,year(a),day(a),concat(name,'同学') from tb_1;
-- 别名
select a b from tb_1;
-- 去重
select distinct a from tb_1;
--根据a,b两列去重
select distinct a,b from tb_1;
-- 排序
--asc升序;desc 降序
--null 升序最上
select a from tb_1 order by a (asc);
SELECT a b FROM exam_result ORDER BY b DESC;
--对多个字段进行排序,排序优先级随书写顺序
select a,b,c from tb_1 order by a,b desc,c;
--where条件查询
WHERE条件可以使用表达式,但不能使用别名
null 不可以用=,!=;
and 优先于or
between a and b;>=a,<=b;
in(a,b,c---)--->匹配()内的值  SELECT name, math FROM exam_result WHERE math IN (58, 59, 98, 99);
-- 模糊查询:LIKE
-- %多个 _一个
SELECT name FROM exam_result WHERE name LIKE '孙_';
-- 分页查询
select ··· from tb_name limit a,b;
select ··· from tb_name [where···][order by···] limit a,b;
-- 修改
 update table_name set ······
-- 删除
delete from table_name  [where···][order by···] 
-- null 约束
-- unique 唯一约束(null不受unique约束)
-- default 默认值约束
CREATE TABLE student (
id INT NOT NULL primary key,
sn INT UNIQUE,
name VARCHAR(20) DEFAULT 'unkown',
qq_mail VARCHAR(20)
);
--primary key 主键约束
primary key = not null & unique
-- froeign key 外键约束
foreign key (字段名) references 主表(列)
CREATE TABLE classes (
id INT PRIMARY KEY auto_increment,
name VARCHAR(20),
`desc` VARCHAR(100)
);

CREATE TABLE student (
id INT PRIMARY KEY auto_increment,
sn INT UNIQUE,
name VARCHAR(20) DEFAULT 'unkown',
qq_mail VARCHAR(20),
classes_id int,
FOREIGN KEY (classes_id) REFERENCES classes(id)
);
--复制表
insert into table(a,b)select c,d from table;
--函数
COUNT([DISTINCT] expr) 返回查询到的数据的 数量SUM([DISTINCT] expr) 返回查询到的数据的 总和,不是数字没有意义AVG([DISTINCT] expr) 返回查询到的数据的 平均值,不是数字没有意义MAX([DISTINCT] expr) 返回查询到的数据的 最大值,不是数字没有意义MIN([DISTINCT] expr) 返回查询到的数据的 最小值,不是数字没有意义
count(某字段)=count(*)=count(常量)
--group by分组
-- select column1 [, sum(column2), ..]  from table group by column1 [,column3];
SELECT 指定的字段必须是“分组依据字段”,其他字段若想出现在SELECT 中则必须包含在聚合函数中
-- having
GROUP BY 子句进行分组以后,需要对分组结果再进行条件过滤时,不能使用 WHERE 语句,而需要用HAVING
select role,max(salary),min(salary),avg(salary) from emp group by rolehaving avg(salary)<1500;
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值