MySQL学习笔记:数据库查询、过滤、更新、删除、别名、去重、拼接、补全操作(navicat界面)
# 查看当前所有的数据库 show databases; # 打开数据库 use myemployees; # 查看所有的表 show tables; # 查看数据库结构 desc employees; # 创建表 create table stu( id int, name varchar(20)) # 往表中插入数据 insert into stu (id,name) values(1,'huang'); insert into stu (id,name) values(2,'li'); # 查看表中所有数据 select * from stu; # 过滤表中数据 select `name` from stu where id=2; # 更新表中数据 update stu set `name`='wang' where id=1; # 查看更新结果 select name from stu where id=1; # 删除表中特定行 delete from stu where id=1; # 查看删除结果 select id from stu; # 查看所在数据库 select database(); # 查看MySQL版本 select version();
# 进阶1:基础查询 /* 语法: select 查询列表(可以有多个表) from 表名 特点: 1、查询列表可以是字段、常量值、表达式、函数 2、查询的结果是一个虚拟的表格 */ # 打开数据库 use myemployees; # 查询单个字段 select last_name from employees; # 查询多个字段 select last_name,salary,email from employees; # 查询所有字段 select * from employees; # 查询常量值 select 100; select 'john'; # 查询表达式 select 100*98; # 查询函数 select version(); # 为字段起别名:语法: # 便于理解、区分重名 # 方式1:select A as B from table; select last_name as 姓,first_name as 名 from employees; # 方式2:select A B from table; select last_name 姓,first_name 名 from employees; # 案例:查询salary, 别名为out put select salary `out put` from employees;
# 8.去重,查询员工表中涉及到的部门编号 use myemployees; select department_id from employees; select distinct department_id from employees; # 相当于matlab unique() # 9 +号作用,查询员工名和姓连接成一个字段,并显示为姓名,使用cancat函数 select concat(last_name,',',first_name) as 姓名 from employees; # 测试 # 成功,别名和查询同时进行 select last_name,job_id,salary as sal from employees; # 成功 select * from employees; # 注意:两个字段之间如果不是, 而是空格 则表示起别名 select employee_id,last_name,salary*12 "annual salary" from employees; select employee_id,last_name,salary*12 as "annual salary" from employees; # 显示department的结构 desc departments; # 显示表employees的全部job_id select distinct job_id from employees; # 显示表employees的全部列,列间用逗号隔开,列投显示成out_put show tables from myemployees; # 查看某个表的结构,如果要查看表的所有列,可以用desc得到表结构后,用concat连接 desc employees; select concat(employee_id,',',first_name,',',last_name,',',email,',',phone_number,',',job_id,'...') as `output` from employees; # 如果拼接结果出现null, 原因是拼接的某一个字段为null select concat(employee_id,',',first_name,',',last_name,',',email,',',phone_number,',',job_id,',',commission_pct) as `output` from employees; # 解决部分字段为null的字段拼接,用ifnull函数对数据进行补全 # 对比补全前后数据 select ifnull(commission_pct,0) as 奖金率,commission_pct from employees; # ifnull()与concat()联合使用 select concat(employee_id,',',first_name,',',last_name,',',email,',',phone_number,',',job_id,',',ifnull(commission_pct,0)) as `output` from employees;
参考资料:https://www.bilibili.com/video/BV12b411K7Zu?p=28&spm_id_from=pageDriver