一.约束
1.主键约束
主键约束语法结构:
ALTER TABLE tab_name ADD CONSTRAINT pk_name PRIMARY KEY (col_name);
主键约束规则:
1.主键约束的列不允许有重复的值
2.主键约束的列不允许有null
2.自增长列
在创建表时,通过auto_increment关键字来标识自增长列,在mysql数据库中自增长列必须是主键列
3.唯一约束
唯一约束语法结构:
ALTER TABLE tab_name ADD CONSTRAINT UNIQUE (col_name);
唯一约束规则:
1.唯一约束的列不允许有重复的值
2.唯一约束的列允许有一个null值
4.默认约束
默认约束(DEFAULT)是为列中的值设置默认值,当时用INSERT语句添加记录时,如果列没有指定值,那么该列就使用默认值,如果列已经指定了值,那么默认值就无效了。
默认约束语法结构:
ALTER TABLE tab_name CHANGE COLUMN old_col_name new _col_name new_datatype DEFAULT value;
5.外键约束
外键约束语法结构:
ALTER TABLE tab_name ADD CONSTRAINT FOREIGN KEY fk_name(col_name) REFERENCE re_tab_name (re_col_name);
二.高级查询
1.基本查询
1.查询所有列
语法结构:
SELECT * FORM tab_name;
2.查询指定列
语法结构:
SELECT col_name1,col_name2,....FROM tab_name;
3.去掉重复值
语法结构:
SELECT DISTINCT col_name FROM tab_name;
4.查询语句中使用列的别名
语法结构:
SELECT col_name AS alias_name FROM tab_name;
2.条件查询WHERE子句
1.比较运算符
WHERE子句中可以使用的比较运算符包括> >= < <= <>.
2.逻辑运算符
逻辑运算符包括 and or not三种.
3.BETWEEN...AND
Between and 表示在两者之间,例如between 60 and 80 相当于 >=60 and <=80.
4.in查询
in用于没有规律的范围查询。相当于多个or的组合。例如:id in(1,4,7)相当于id=1 or id=4 or id=7.
5.模糊查询like
模糊查询使用通配符%和_实现,%表示任一个任意字符,_表示任意一个字符。
6.NULL值查询
NULL在数据库中表示没有数据,应使用is来判断列中是否存在NULL
例如:SELECT * FROM emp WHERE mgr IS null;
3.排序 order by子句
order by子句用于排序,升序需指定ASC,降序需指定DESC,默认是ASC。
4.聚合函数查询
聚合查询是将多个数据聚合成一个数据,聚合是通过聚合函数实现的,聚合函数有sum,max,min,avg,count共五个