基本查询(列控制):
查询所有列:select *from 表名;
查询指定列:select 列1,列2,..from 表名;
去重:select distinct 列名 from 表名;
列运算:select 列名*数值 from 表名;
字符串连续运算:select concat(' 字符串 ',‘列名 ’,‘列名 ’)from 表名;
转换NULL值:SELECT 列名 +IFNULL(列名,替换的值)from 表名;
别名:select 列名as 别名(as 可省略)
条件控制
模糊查询:select *from 表名 where 列名 like ' 张_';(查询姓张的)
select *from 表名 where 列名 like ' %三';(查询__刚)
排序:
升序:select *from 表名 ORDER BY 列名;(ASC可省略)
降序:select *from 表名 ORDER BY 列名 DESC;
多列排序:select *from 表名 ORDER BY 列名 ASC,列名 DESC,..;
聚合函数:
select count(列名)from表名;//有效行数
select comm(列名)from表名;/总和
select max(列名)from表名;//最大
select min(列名)from表名;/最小
select avg(列名)from表名;//平均
分组查询:
select 列名,聚合函数 from 表名 group by 列名;
组条件:
select * from 表名 limit 0,5;(表示从0开始到第五行)
一页的记录数:10行
查询第三页
select *from 表名 limit 20,10;
(当前页-1) * 每页记录数
数据库备份与恢复:
备份:mysqldump -uroot -p123456 (mydatabase)数据库名>(c:/a.sql)路径
恢复:mysql -uroot -p123456 (mydatabase)数据库名
source c:/a.sql
约束:
主键约束:非空,唯一,被引用(学习外键时)
当表的某一列被指定为主键后,该列就不能为空,不能有重复值出现。
主键自增长:
CREATE TABLE t_stu(
sid INT PRIMARY KEY AUTO_INCREMENT,
sname varchar(50),
age int,
gender varchar(10)
);
外键约束:
外键必须是另一表的主键的值(外键要引用主键)
外键可以重复
外键可以为空