MySQL Workbench的使用

目录

新建一个数据库

新建表

导航区建表

 SQL语言建表

类型总结

MySQL的增删查改

先创建表

单行插入

多行插入

指定列插入

全列查询

指定列查询

查询字段为表达式

 别名

 排序

去重

  条件查询

 分页查询

截断

删除


新建一个数据库

1.先点击新建数据库

2. 写创建的数据库的名称,选择中文编码,然后点击Apply

 3.直接Apply

 4.创建成功后Finish

 5.创建成功后刷新,新建的数据库就会出现

新建表

导航区建表

1.右键需要建表位置的数据库

 2.添加表名,字段等信息

3.点击Apply

 生成的SQL语言

CREATE TABLE `java_0326`.`classes` (
  `cid` INT NOT NULL COMMENT '班级编号',
  `name` VARCHAR(45) NOT NULL COMMENT '班级名称',
  PRIMARY KEY (`cid`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COMMENT = '班级表';

4.建表成功

 SQL语言建表

新建一个查询,然后输入代码,之后执行

CREATE TABLE 表名(
列名     类型             约束信息,
id       int             not null,
name     varchar(255)    not null
);

类型总结

int:        数字
varchar:    字符串
date:       年月日
time:       时分秒
datetime:   年月日 时分秒
timestamp:  时间戳(从 1970-01-01 经过的秒数)

MySQL的增删查改

先创建表

CREATE TABLE student (
    id INT,
    sn INT comment '学号',
    name VARCHAR(20) comment '姓名',
-- DECIMAL(3,1)说明这个数是三位数,有两位整数,一位小数,最大为99.9 
    grade DECIMAL(3,1),
    qq_mail VARCHAR(20) comment 'QQ邮箱'
);

 

单行插入

insert into 表名称  values (id值,sn值,name值,qq_mail值);
insert into student values (100,10000,'张三',90,null);

多行插入

insert into 表名称  values (id值,sn值,name值,grade值,qq_mail值),(id值,sn值,name值,grade值,qq_mail值);
insert into student values (101,10001,'李四',98,null),(102,10002,'王五',100,null);

指定列插入

insert into student (id,sn,name) values (id值,sn值,name值)
insert into student (id,sn,name) values (103,10003,'孙悟空'),(105,10005,'猪八戒');

全列查询

  • 一般不要轻易使用,可能表中数量过多,传输的数据量会更大
select * from 表名称;
select * from student;

指定列查询

select 列名称 from student表名称;
select id,name from student;

查询字段为表达式

  •  有 null 参与的运算结果还是 null
  • 即使是 null,做bool值的时候,也看作 false
select 列名称, 10 from 表名称;
select id, name, 10 from student;
select 100 from student;
select id*10 from student;

 别名

select id, name, grade as 总分 from student;

 排序

-- 查询同学姓名和 成绩,按 成绩 排序显示
select name, grade from student order by grade asc;
  • ASC 为升序, DESC 为降序,默认为 ASC
  • NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面

去重

查询得到的结果会把重复的数据只显示一个

select distinct 列名称 from 表名称;
select distinct grade from student;

  条件查询

比较运算符

运算符说明
>, >=, <, <=大于,大于等于,小于,小于等于
=等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL
<=>等于,NULL 安全,例如 NULL NULL 的结果是 TRUE(1)
!=, <>不等于
BETWEEN a0 AND a1范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1)
N (option, ...)如果是 option 中的任意一个,返回 TRUE(1)
IS NULL是 NULL
S NOT NULL不是NULL
LIKE模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字 符

  

  • LIKE
-- % 匹配任意多个(包括 0 个)字符
select name from student where name like '孙%';-- 匹配到姓孙的两个字/三个字等
-- _ 匹配严格的一个任意字符
select name from student where name like '孙_';-- 匹配到姓孙的两个字

select name from student where name like '%孙';-- 匹配到最后一个字是孙的人

 逻辑运算符

运算符说明
AND多个条件必须都为 TRUE(1),结果才是 TRUE(1)
OR任意一个条件为 TRUE(1), 结果为 TRUE(1)
NOT条件为 TRUE(1),结果为 FALSE(0)

 分页查询

-- 分页
-- limit 
-- offset
select id, name, grade FROM student order by id limit 3 offset 0;

update 表名称 set 列名称 = 'XX' where 条件
-- 修改 id 为1的学生成绩为98 
update student set garde = 98 where id = 1;
  • update支持表达式
-- 把 id 为1的学生成绩在之前的基础上-10
update student set grade = grade - 10 where id = 1;
  •  update 支持 limit,但不支持 limit, offset
-- 按增序然后修改前三行的grade为88
update student set grade = 88 order by id limit 3;

截断

把表还原成最开始的状态

truncate student;

删除

删除表中的数据

delete from student;

  • 3
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习java的张三

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值