day2-SQL语句
-
数据库备份mysqldump命令
-
图形界面工具使用
-
常用数据类型与运算符
-
SQL查询
-
系统函数
数据库备份
备份(系统命令行)
#备份数据库实例 mysqldump -uroot -proot mydb > d:/mydb.sql #备份表 mysqldump -uroot -proot mydb tbuser > d:/tbuser.sql
恢复(需要进入mysql命令行,同时use一个指定数据实例)
source d:/mydb.sql
AUTO_INCREMENT,UNSIGNED,ZEROFILL
auto_increment:设置列自增,可用于主键列以及非空唯一列(not null unique)
unsigned:设置无符号列(列值不允许为负数)
zerofill:设置零填充列(当列数据长度不到定义长度时,数值前补0)
数据类型
-
数值类型
-
字符串类型
-
时间日期类型
char类型跟varchar类型区别
char类型是定长字符串,默认大小是255(最大255);char类型一旦定义长度,则无论实际添加的数据长度是否达到最大长度,都会将定义空间占满,char类型效率高一般用于长度固定的列。
varchar类型是定长字符串,默认大小是255(最大长度取决与数据表的编码模式,utf-8:65535/3;GBK:65535/2),varchar类型定义长度之后系统不会直接分配对应大小的空间,而是根据实际填充值的长度申请空间,相对char类型更节省空间,所以varchar用于长度不定的列
SQL查询
sql语句DML语句中最为复杂的是查询语句,insert,update,delete语句多数情况为单表操作,但是select与可以关联多张数据表,针对sql查询需要明确三点:
-
查询列
-
查询目标表
-
查询条件
员工表(Emp)
部门表(Dept)
单表查询
--查询所有员工的姓名,职位,月薪 select ename,job,sal from emp; --查询月薪超过10000的员工 select * from emp where sal>10000; --查询入职时间在2017-01-01~2017-12-31之间的员工 select * from emp where hiredate between '2017-01-01' and '2017-12-31'; --查询所有市场经理和项目经理信息 select * from emp where job in('市场经理','项目经理'); --模糊查询 ‘%’ ‘_’ --查询员工姓名中包含‘杰’的员工 select * from emp where ename like '%杰%'; --查询员工中所有的‘张’姓员工 select * from emp where ename like '张%'; --查询员工中‘周’姓名字只有两个字的员工 select * from emp where ename like '周_';