MySql基础(常用)

MySQL常用语句

1.查看当前所有数据库
	show databases;
2.打开指定的库
	use 库名;
3.查看当前库中的所有表
	show tables;
4.查看其他库的表
	show tables from 库名;
5.创建表
	create stuinfo(
		列名	 列属性,
		列名	 列属性,
		...
	);
6.查看表结构
	desc 表名;
7.查看数据库版本
	>mysql select version();
	>dos mysql --V  // mysql --version

MySQL语法规范

1.不区分大小写,建议关键字大写,表名列名小写。
2.每条命令最好分号结尾(\g也行)
3.每条命令根据需要,可以缩进或者换行
4.注释
	单行注释:#注释文字
	单行注释:-- 注释文字  一定要空格
	多行注释:/* 注释文字 */

MySQL DML(DQL + DML)

基础查询

语法:
select 查询列表
from 表名

1.查询常量值
	select 100;
	select 'SHAO';
2.查询表达式
	select 100*98;
3.查询函数
	select version();  //调用该方法得到返回值并显示
4.为字段起别名
/* 
	1)便于理解
   	2)如果查询字段有重名,使用别名可以区分
*/
	select 100%98 as 结果;
	select last_name as 姓, first_name as 名 from mysql;

	select 100%98 结果;
	select last_name 姓, first_name 名 from mysql;
	举例子:
	select salary as out put from employees;   //错误,别名不能使用特殊符号,若存在可以使用双引号表示别名,如下
	select salary as "out put" from employees;
5.去重
	查询涉及到的所有部门编号
	select distinct department_id from employees;
6.+号的用处   仅有运算符功能
	查询员工名和姓链接为一个字段,并显示为姓名
	select last_name+first_name as name from employees; //错误
	select 90+100;
	select '123'+90;  其中一方为字符型,试图将字符型转换为数值。转换成功则继续进行加法运算
	select 'join'+90; 如果转换失败,则将字符型数值转换为0
	select NULL+100; 如果一方为NULL,结果必定为NULL

	字符拼接使用函数CONCAT(str1,str2,...)
	select concat(last_name,first_name) as name from employees;

	select ifnull(查询内容,当内容为NULL时的返回值)

条件查询

语法:
select 查询列表
from 表名
where 筛选条件

1.条件表达式筛选
	条件运算符: > < = ! <>(!= 推荐<>) >= <=
2.逻辑表达式筛选
	逻辑运算符: && || ! 推荐 and or not 
	主要作用:连接条件表达式
3.模糊查询
	1)like 
		例子1:查询员工中包含字符a的员工信息
		给出的条件比较模糊
		select * from employees where last_name like '%a%';   //此处%为通配符,代表任意多个字符
		(1)一般和通配符搭配使用 通配符 % 任意多个字符  _ 任意单个字符
			例子2:如果查询要查_字符
			select last_name from employees where last_name like '_\_%'  #这里使用转义字符\让_表示原来意思。
			select last_name from employees where last_name like '_@_%' escape @  #这里使用@作为转义字符

	2)betweeen and
		例子1:查询员工编号在100到120之间的员工信息
		原:select * from employees where employee_id <= 120 and employee_id >= 100;
		使用between and
		select * from employees where employee_id between 100 and 120;
		(1)使用between and 让语句简洁
		(2)包含边界值
		(3)不能颠倒两者顺序,语句和原语句等价。
	
	3)in 用于判断某字段的值是否述语in列表中的某一项
		例子1:查询员工的工种编号为IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号
		原:
		select last_name,job_id 
		from employees 
		where  job_id = 'AD_VP' or job_id = 'IT_PROG' or job_id = 'AD_PRES';
		现:
		select last_name,job_id 
		from employees 
		where  job_id in('IT_PROG','AD_VP','IT_PROG');
		(1)使用in提高语句简洁度
		(2)in列表的值类型必须一致或者兼容

	4)is null
		例子1:查询没有奖金的员工名和奖金率
		select last_name,commission_pct from employees where commission _pct = NULL; //错误,等于号不能判断NULL值
		select last_name,commission_pct from employees where commission _pct is NULL; //正确
		(1)is只用来判断NULL
		补充:
			安全等于 <=>  可以去判断NULL值,也和 = 效果一致
			select last_name,commission_pct from employees where commission _pct <=> NULL;  可读性较低
posted @ 2020-04-20 09:03  FoolShao  阅读(99)  评论(0)    收藏  举报