Mysql-常用操作命令

Mysql

本篇博文将介绍 Mysql 常见的 Sql 命令。

  • 创建数据库
create database Ball#创建 Ball 数据库
  • 使用数据库
use Ball #使用 Ball 数据库
  • 删除数据库
drop database Ball
  • 创建数据表
    创建表FootBallStar,包含自增 id,足球明星姓名(name)、年龄(age)、得分(score)、足球俱乐部(footballclub)、国籍(nationality)属性。
CREATE TABLE FootBallStar (
  id           INT(11)     NOT NULL AUTO_INCREMENT,
  name         VARCHAR(32) NOT NULL
  COMMENT '姓名',
  age          INT(11)     NOT NULL
  COMMENT '年龄',
  score        INT(11) COMMENT '进球得分',
  footballclub VARCHAR(32) NOT NULL
  COMMENT '俱乐部',
  nationality  VARCHAR(32) NOT NULL
  COMMENT '国籍',
  create_time  TIMESTAMP   NOT NULL DEFAULT CURRENT_TIMESTAMP
  COMMENT '创建时间',
  update_time  TIMESTAMP   NOT NULL DEFAULT CURRENT_TIMESTAMP
  COMMENT '更新时间',
  PRIMARY KEY (id)
)
  ENGINE = InnoDB
  DEFAULT CHARSET = utf8
  COMMENT = '足球明星资料库';
  • 插入数据
INSERT INTO FootBallStar (name, age, score, footballclub, nationality) VALUES ('梅西', 29, 8, '巴塞罗那', '阿根廷');
INSERT INTO FootBallStar (name, age, score, footballclub, nationality) VALUES ('苏亚雷斯', 29, 8, '巴塞罗那', '乌拉圭');
INSERT INTO FootBallStar (name, age, score, footballclub, nationality) VALUES ('C罗', 31, 8, '皇家马德里', '葡萄牙');
INSERT INTO FootBallStar (name, age, score, footballclub, nationality) VALUES ('格林兹曼', 25, 6, '马德里竞技', '法国');
INSERT INTO FootBallStar (name, age, score, footballclub, nationality) VALUES ('迭戈-科斯塔', 28, 10, '切尔西', '西班牙');
  • 查询数据
#查询表中全部字段(建议使用第二种方法进行查找)
#第一种方法
select * from FootBallStar
#第二种方法
select id,name,age,score,footballclub,nationality,create_time,update_time from FootBallStar;

这里写图片描述

#查询某个字段(如姓名、年龄)
select name,age from FootBallStar;

这里写图片描述

#条件查询(如查询name=‘梅西’的球员信息)
select id,name,age,score,footballclub,nationality,create_time,update_time from FootBallStar where name='梅西';

这里写图片描述

#同时查询多个球员,比如名字叫梅西和C罗的球星,你可以在条件上使用 or 连接
select * from FootBallStar where name="C罗" or name="梅西";
#但是你还可以使用一个更好的方法,那就是使用 in。
select * from FootBallStar where name in("C罗","梅西");

这里写图片描述

可以发现,两种方法实现了同样的效果,明显第二种方法,更加简便,特别是当查询的球星名字有许多的时候,效果就更加明显了。

  • 删除数据表
DROP TABLE FootBallStar#删除数据表FootBallStar
  • 删除表中信息

    • 删除表中部分信息
    • 删除表中全部信息
# 删除表中部分信息
# 删除name='C罗'的全部信息
DELETE from FootBallStar where name='C罗';

#删除全部信息
#第一种方法
DELETE from FootBallStar;
#第二种方法
TRUNCATE TABLE FootBallStar;

当使用第一种方法删除掉FootBallStar数据表中的全部信息时,再向数据表中插入数据时,主键 id 会从原来id 的基础上增加,而TRUNCAT会从1开始自增。也就是说,原来数据表中的数据有五条,用第一种方法进行删除,再插入,这时 id 会从6开始计算。而用第二种方法进行删除,再插入,这时 id 会从1开始计算。 DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。

  • 更新数据库
#id=1的球星进球数加1
UPDATE FootBallStar set score=score+1 WHERE id =1;
  • 排序
    如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段哪中方式来进行排序,再返回搜索结果。如下示例分别按照进球个数(score 字段)使用降序(desc)和升序(asc)进行排序,默认情况是降序排列。
SELECT * from FootBallStar ORDER BY score;

这里写图片描述

select * from FootBallStar order by score desc;

这里写图片描述

  • 分组
    GROUP BY 语句根据一个或多个列对结果集进行分组。
#单列分组
select footballclub,count(1) from FootBallStar group by footballclub;

这里写图片描述

#多列分组
select footballclub, score, count(1) from FootBallStar group by footballclub, score;

这里写图片描述

  • 表数据导出到文件
#表中数据导入到/tmp/footBallStar.txt
select * from FootBallStar into outfile '/tmp/footBallStar.txt'

这里写图片描述

  • 文件数据导入到表
load data local infile '/tmp/footBallStar.txt' into table FootBallStar;

其中 /tmp/footBallStar.txt的文件格式为:

6   伊瓜因 29  9   那不勒斯    阿根廷
7   阿圭罗 27  8   曼城  阿根廷

这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值