mysql 增删查改-练习

1.在已有表格中添加新的字段:

> alter table 表名 add 新字段名 类型(varchar/int等等)  not null/..;


2.给字段添加索引:

> alter table 表名 add index 索引名 (字段名);

or:

> create index 索引名 on 表名 (字段名);


3.创建一个名叫EMP_V_3的视图,包括部门id为3号的部门信息和员工信息:
> create view EMP_V_3 as select employees.* depts.* from employees, depts where employees.dept_id = depts.departmentId and depts.departmentId = 3;
一开始时,在depts表和employees表中都有相同的一个字段名“dept_id”,导致报错:ERROR 1060 (42S21): Duplicate column name 'dept_id',百度以后知道一个数据库中不能出现两个相同的字段名,所以要将其中一个字段名改掉,直接改字段名的语法见【改】中的第一条。
查看已创建的视图见【查】


2.1查询teacher表中姓“李”的老师的个数:(用like来查找部分)

> select count(*) from teacher where Name like '李%';


2.2查询没学过“叶平”老师课的学生的学号和姓名:(用到inner join链接三个表,见inner join一文)

> select chinese.No, biology.Name from (biology inner join physics on biology.b_No = physics.p_No) inner join chinese on biology.b_No = chinese.No where biology.teacher != '叶平' and physics.teacher != '叶平' and chinese.teacher != '叶平';

结果如下:

这个办法比较笨,不知道有没有更方便直接的方法,如果有,请指教。


2.3查询学过“蔡文姬”老师和“狄仁杰”老师课的学生的学号和姓名:

> select chinese.No, biology.Name from (biology inner join physics on biology.b_No = physics.p_No) inner join chinese on biology.b_No = chinese.No where (biology.teacher = '蔡文姬' or biology.teacher = '狄仁杰') and (physics.teacher = '蔡文姬' or physics.teacher = '狄仁杰') and (chinese.teacher = '蔡文姬' or chinese.teacher = '狄仁杰');

结果如下:

这个方法依旧是笨方法,求指教更方便快捷的方法。


employees表

3.1查询除了名字叫张三以外的员工记录:(用not in筛选)

> select * from employees where name not in('张三');(用!=也可以)

结果如下:


3.2查询工资在2000到5000之间的员工记录:

> select * from employees where salary <=5000 and salary >= 2000;


3.3查询部门编号为1、3、5的员工记录:

> select * from employees where dept_id in (1,3,5);

结果如下:


3.4查询姓“张”的员工记录:

> select * from employees where name like '张%';

结果如下:


3.5查询性别为男,且在2016年9月20日入职的员工记录:

> select * from employees where gender = '男' and join_time = '2016-9-20';

果如下:


3.6查看已创建的视图:

> select * from 视图名;

> select * from EMP_V_3;

结果如下:


1.更改字段名

> alter table 表名 change 原字段名 新字段名 类型;

exp:

> alter table depts change dept_id departmentId int not null;


猜你喜欢

转载自blog.csdn.net/u011378313/article/details/78211691