默认值约束—default:可以使用default关键字来声明默认值,插入数据时有两种方式使用默认值(首先创建一个xz_laptop_family数据表 表中存有三个数据fid、fname、laptopCount)
INSERT INTO xz_laptop_family VALUES('fid','fname',DEFAULT);
INSERT INTO xz_laptop_family VALUES(fid,fname) VALUES('fid','fname')
检查约束—CHECK:检查约束可以对插入的数据进行检查(MySQL不支持检查约束,会降低数据的插入速度)
外键约束—FOREIGN KEY:声明了外键约束的列,取值必须在另一个表中的主键列上出现过,列类型要保持一致 取值可以是null
FOREIGN KEY(familyId) REFERENCES xz_laptop_family(fid);
mysql中的自增列—AUTO_INCREMENT:自动增长 假如一个列设置了自增列,无需手动赋值,直接设置为null,会获取当期的最大值然后甲乙插入(只适用于整数型的主键列上)
简单查询:
(1)查询特定的列
/* 以姓名、工资、生日为例(之前建好的emp表中有这三个参数)*/
SELECT ename,salary,birthday FROM emp;
(2)查询所有的列
/*查询所有的列(两种方式)*/
SELECT * FROM emp;
SELECT (所有的列名称 用逗号隔开) FROM emp;
(3)给列取别名
/*as关键字可以省略*/
SELECT ename AS 名称 ,salary AS 工资 FROM emp;
(4)只显示不同的记录/合并相同的记录—DISTINCT
/*以性别为例*/
SELECT DISTINCT sex from emp;
(5)在查询时进行计算
/*以计算年薪为例*/
SELECT salary*12 from emp;
(6)查询结果排序—ORDER BY did ASC(升序排列)—ORDER BY did DESC
#升序排列(省略后面的排序命令 默认按照升序排列)
SELECT * FROM dept ORDER BY did ASC;
#降序排列
SELECT * FROM dept ORDER BY did DESC;
(7)条件查询—WHERE
#以eid=7为例
select * from emp where eid =7;
#查询两者之间可以用between and
select * from emp where salary between 15000 and 25000;
#查询两个数据的命令(两种方式)
select * from dept where did=10 or did=30;
select * from dept where did in(10,30)
注意:删除、更改、查询都可以结合条件查询。
(8)模糊查询—like
#查询所有姓名以数据中含有“小”的信息
select * from emp where ename like '%小%';
#查询所有姓名以‘小’开头的数据
select * from emp where ename like '小%';
#查询出所有ename中倒数第二个字符为e的员工信息
select * from emp where ename like '%e_';
SQL中提供了两个模糊查询的字符:
% 可以匹配任意多个字符 >=0
_ 可以匹配任意一个字符 =1
注意:上面这两个字符必须和like关键字结合起来使用 不能和=使用
**分页查询—LIMIT:**假设查询的结果中有太多数据的话,一次显示不完,可以采用分页查询
select * from emp LIMIT start,count;
start是一个数字,从那条数据开始读取,第一条为0。
count是每一页要显示的数据数量,最多能读取多少。
**每页的算法:**start=(页码-1)*count
#一页中显示五条信息
select * from emp limit 0,5;
**总结:**今天的知识点主要是默认值约束、外键约束、检查约束(MySQL中不支持)、多种查询方式(不太熟练)等内容。