MySQL笔记(二)基础的增删改查

这是我在学习Mysql之路上做的笔记,今天将它粘出来。这一篇主要是简单增删改查。有错误的欢迎大家指出。。。

#增删改查

#创建部门表

CREATE TABLE IF NOT EXISTS tb_dept(

deptno INT PRIMARY KEY auto_increment COMMENT '部门编号',

dname VARCHAR(18) COMMENT '部门名称',

loc VARCHAR(100) COMMENT '部门地址'

)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='部门表';

#创建员工表

CREATE TABLE IF NOT EXISTS tb_emp(

empno INT PRIMARY KEY auto_increment COMMENT '员工编号',

ename VARCHAR(18) NOT NULL COMMENT '员工姓名',

job enum('总经理','项目经理','软件构造师','软件开发工程师','软件测试工程师',

'市场营销经理','财务经理','人力资源','质量管理经理') DEFAULT '软件开发工程师' COMMENT '员工职位',

mgr int COMMENT '上级领导',

hiredate DATE COMMENT '入职时间',

sal int COMMENT '薪资',

comm int COMMENT '奖金',

phone VARCHAR(18) UNIQUE COMMENT '电话',

dept_id int COMMENT '部门编号',

CONSTRAINT fk_emp FOREIGN KEY (dept_id) REFERENCES tb_dept(deptno)

)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='员工表';

#1、增加

#一次插入多条记录INSERT

INSERT INTO tb_dept VALUES

('7100', '董事部', '十堰'),

('7200', '产品研究部', '十堰2'),

('7300', '项目开发部', '上海'),

('7400', '质量管理部', '深圳'),

('7500', '市场营销部', '深圳'),

('7600', '客户服务部', '深圳'),

('7700', '财务部', '十堰'),

('7800', '人力资源部', '十堰');



INSERT INTO tb_emp VALUES

('7101', 'King', '总经理', null, '2009-08-21', '5000', null, '18772221788', '7100'),

('7301', 'Johnson', '项目经理', '7101', '2010-08-21', '3500', '200', '15072624256', '7300'),

('7201', 'Jones', '软件构造师', '7301', '2015-08-21', '3200', null, null, '7200'),

('7302', 'Brown', '软件开发工程师', '7301', '2016-08-09', '3100', '50', null, '7300'),

('7303', 'Miller', '软件开发工程师', '7301', '2018-05-21', '3000', null, null, '7300'),

('7304', 'Davis', '软件开发工程师', '7301', '2018-10-21', '2800', '50', null, '7300'),

('7305', 'Wilson', '软件开发工程师', '7301', '2014-08-21', '3300', null, null, '7300'),

('7306', 'Thomas', '软件测试工程师', '7301', '2015-06-21', '3200', null, null, '7300'),

('7501', 'Jackson', '市场营销经理', '7101', '2016-08-21', '2920', '100', '18342521566', '7500'),

('7701', 'Clark', '财务经理', '7101', '2013-06-21', '3300', null, '17552223457', '7700'),

('7801', 'Tom', '人力资源', '7101', '2011-07-21', '2860', '60', '18776660111', '7800'),

('7401', 'Tomas', '质量管理经理', '7101', '2011-08-03', '2800', null, '18773345012', '7400');

#查看数据

SELECT *FROM tb_dept;

SELECT *FROM tb_emp;

#从一张表复制数据到新表中

#复制了表tb_dept的 结构、数据 ,但是不复制约束

CREATE TABLE dept SELECT *FROM tb_dept;

#查看数据

SELECT *FROM dept;

#2、删除

#DELETE删除表数据,保留表结构,可以回滚

DELETE FROM tb_dept WHERE dname='销售部';

#DROP删除表结构和数据:删除最快,直接从内存删除

DROP TABLE tb_dept;

#TRUNCATE清空一个表数据,不可以回滚

TRUNCATE TABLE tb_dept;

#3、修改

UPDATE tb_dept SET loc='上海' WHERE dname='销售部';
UPDATE tb_emp SET ename='Luolei',job='开发工程师' WHERE empno=7113;

#auto_commit自动提交

#查询MySQL自动提交设置(1自动提交,0手动提交)

show variables like 'autocommit';

SELECT @@autocommit;

SET autocommit=1;

#4、查询

#查看数据

SELECT *FROM tb_dept;

SELECT *FROM tb_emp;

DESC tb_emp;

#DISTINCT查询清除重复行

SELECT DISTINCT loc FROM tb_dept;

#联合查询

select DISTINCT dept_id,job from tb_emp;

#使用between区间

SELECT *FROM tb_emp WHERE sal BETWEEN 1300 AND 2000;

#包含in

SELECT *FROM tb_emp WHERE mgr IN(7103);

SELECT *FROM tb_emp WHERE mgr IN(7103,7099);

#IS NULL

SELECT *FROM tb_emp WHERE comm IS NULL;

#(_)一个字符,(%)零个或多个字符

SELECT *FROM tb_emp WHERE ename LIKE '%so_';

#逻辑运算符

#AND OR NOT

SELECT *FROM tb_emp WHERE dept_id=40 AND mgr='7103';

SELECT *FROM tb_emp WHERE mgr ='7103' OR mgr ='7099';

SELECT *FROM tb_emp WHERE NOT mgr='7103';

#order by排序(默认asc升序,desc降序)

#orderby多个字段时,用逗号分隔每一个字段,排序的方法是先按第一个字段排序,如果有相同的再按后续的字段依次排序。

SELECT *FROM tb_emp ORDER BY sal DESC,comm ASC;

 

 

微信扫码订阅
UP更新不错过~
关注
  • 1
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

csdnluolei

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

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值