MySQL学习Day03
唯一约束——unique
加上此约束的属性不能有相同的值,但是可以有多个NULL,这个NULL是关键字,不可以加在引号内,加在引号内也不会生效。
唯一约束可能会影响排序
默认值约束——default
在创建表时,给某一属性一个default属性和一个默认值,在插入数据的时候,可以直接输入default,就会插入默认值。
可以直接使用default,即使不再创建表时给属性,这时default就会显示为NULL。
外键约束——forrign references
在需要绑定的属性后面必须要加主键约束,
外键约束语法:
foreign key(familyId) references family (fid)
在创建表的时候加入,必须写在外键约束内
外键一定要与绑定的主键类型一致,外键的内容一定可以在主键里面找到
自动增长——AUTO_INCREMENT
一般加在id属性后面,插入数值时直接写上NULL即可,就会自定实现id的增长
简单查询
1.查询特定的列
练习:查询所有员工的编号和姓名select eid,ename from empty;
练习:查询出所有员工的姓名,性别,生日,工资
select ename,sex,birthday,salary from empty;
查询出来的表格顺序会按照上列顺序显示出来。
2.查询所有列
select*from empty;
3.别名使用
练习:查询出所有员工的姓名,生日,工资,使用中文别名
as是一个关键字,可以省略只用一个as或者一个也不需要,
只保留空格即可
select eid as 编号,ename 姓名,birthday 生日 from empty;
练习:查询出所有员工的姓名和工资,使用1个字母作为别名
select ename N,salary S from empty;
4.显示不同记录
练习:查询员工分布在哪个部门
selext distinct deptId from empty;
5.查询时执行计算
练习:查询出所有员工的姓名及其年薪
select ename 姓名,salary*12 年薪 from empty;
练习:假设每个员工的工资增长1000,年终奖20000,查询所有员工的姓名及其年薪,使用汉字别名
select ename 姓名,(salary+1000)*12+20000 年薪 from empty;
6.查询的结果集排序
不加排序规则,默认按照升序排列
- 升序查询:select*from dept order by did asc;
- 降序查询:select*from dept order by did desc;
#desc describe 描述,查询列结构使用
#desc descendant 降序的使用
练习:查询所有的员工,结果集按照工资的降序排列
select *from empty order by salary desc;
练习:查询所有的员工,结果集按照年龄从大到小排列
select*from empty order by birthday asc;
练习:查询所有的员工,结果集按照姓名的升序排列
select*from empty order by ename asc;
练习:查询所有的员工,结果集按照工资的降序排序,如果工资相同按照年龄从大到小排列
select*from empty order by salary desc,birthday asc;
练习:查询所有的员工,结果集中女员工显示在前,如果性别相同按照姓名升序排列
select*from empty order by sex,ename;
7.条件查询
练习:查询所有的男员工
select*from empty where sex=1;

浙公网安备 33010602011771号