指令操作、例子

数据库(DataBase,DB)
数据库管理系统(DataBase Management System,DBMS)
登陆Mysql:
mysql -u root -p abc
u---user
p--password
root 跟。主
stop    停止。
net  
 
start  开始。
dir---directory目录
datadir---C:/ProgramData/MySQL/MySQL Server 5.5/Data/"

结构化查询语言(SQL:Structure Query Language)。
Language  语言
query  问题
structure  结构
 
Struchure Query Language

数据定义语言:DDL           用来定义数据库对象:库、表、列等;
Data Definition Language

create    创建
clter   改变
drop     丢
 
数据操作语言:DML         用来定义数据库记录(数据);
insert     插入;嵌入
 
数据控制语言,DCL           用来定义访问权限和安全级别;
DQL 数据查询语言。
 用来查询记录。
 select
选择; 挑选; 选拔;
adj.  精选的; 挑选出来的; 苛择的; 〈口〉爱挑三拣四的,挑剔的;

创建
create database mydb1;
指令。有符号数字语法构成的。
 
查询。
show
给…看; 表现出; 显露出; 上演;
show databases;
drop 删除。
alter
 改变; 更改; 改建(房屋); (人)变老;
set 设置。
get 取 。
 
select database();查询当前的库

table
表,目录; 桌子; 手术台,工作台,游戏台; 平地层;
常用数据类型
int 整型。
double 浮点型。
char 字符
char(len)
varchar 可改变的字符串类型
text  文本,原文; 课文,教科书; 主题; 版本;
test 试验; 考验; 测验; 化验;
blob一滴; 一抹; 难以名状的一团;
date 日期。
格式: yyyy-MM-dd
year
month
day
timestamp 时间戳。
hh:mm:ss
hour
minute
seconds
stamp  邮票; 标志,印记; 跺脚; 特征;
show tables
desc
employee
employee 雇员。
alter
add 增加。

select
* 表示所有的。
from 从哪
select * from tablename

name
gender
性别; 某些语言的(名词、代词和形容词)性的区分;
birthday 生日。
salary 
 薪水,薪金,薪俸;
 entry_date
 进入,入场; 入口处,门口; 登记,记录; 参加比赛的人;
 getName
 将wu的薪水在原有基础上增加1000元。
 UPDATE emp SET salary=salary+1000 WHERE gender='male';
 a =  20
 a = a + 10
 a = 30?
 a += 10
 SELECT 列名 FROM表名
【WHERE --> GROUP BY -->HAVING--> ORDER BY】
male 男性
'female' 女性

《》
<>
查询性别为女,并且年龄50的记录
  SELECT * FROM stu
WHERE gender='female' AND ge<50;

查询学号为S_1001,或者姓名为liSi的记录
SELECT * FROM stu
WHERE sid ='S_1001' OR sname='liSi';

查询学号为S_1001,S_1002,S_1003的记录
SELECT * FROM stu
WHERE sid IN ('S_1001','S_1002','S_1003');
 
查询学号不是S_1001,S_1002,S_1003的记录
SELECT * FROM tab_student
WHERE s_number NOT IN ('S_1001','S_1002','S_1003');

查询年龄为null的记录
SELECT * FROM stu
WHERE age IS NULL;
 

查询年龄在20到40之间的学生记录
SELECT *
FROM stu
WHERE age>=20 AND age<=40;
或者
SELECT *
FROM stu
WHERE age BETWEEN 20 AND 40;
 
 
查询性别非男的学生记录
SELECT *
FROM stu
WHERE gender!='male';
或者
SELECT *
FROM stu
WHERE gender<>'male';
或者
SELECT *
FROM stu
WHERE NOT gender='male';
 

查询姓名不为null的学生记录
SELECT *
FROM stu
WHERE sname IS NOT NULL;
或者
SELECT *
FROM stu
WHERE NOT sname IS NULL;
 

模糊查询
当想查询姓名中包含a字母的学生时就需要使用模糊查询了。模糊查询需要使用关键字LIKE。
通配符:
_ 任意一个字符
   %:任意0~n个字符
'%张%'  '张_'
 
查询姓名由5个字母构成的学生记录
SELECT *
FROM stu
WHERE sname LIKE '_____';
模糊查询必须使用LIKE关键字。其中 “_”匹配任意一个字母,5个“_”表示5个任意字母。
 
 
查询姓名由5个字母构成,并且第5个字母为“i”的学生记录
SELECT *
FROM stu
WHERE sname LIKE '____i';
 
 
查询姓名以“z”开头的学生记录
SELECT *
FROM stu
WHERE sname LIKE 'z%';
其中“%”匹配0~n个任何字母。
 

查询姓名中第2个字母为“i”的学生记录
SELECT *
FROM stu
WHERE sname LIKE '_i%';
 

查询姓名中包含“a”字母的学生记录
SELECT *
FROM stu
WHERE sname LIKE '%a%';

查询所有学生记录,按年龄升序排序
SELECT *
FROM stu
ORDER BY sage ASC;
或者
SELECT *
FROM stu
ORDER BY sage;
 
查询所有学生记录,按年龄降序排序
SELECT *
FROM stu
ORDER BY age DESC;
 

查询所有雇员,按月薪降序排序,如果月薪相同时,按编号升序排序
SELECT * FROM emp
ORDER BY sal DESC,empno ASC;

查询所有雇员,按月薪降序排序,如果月薪相同时,按编号升序排序
SELECT * FROM emp
ORDER BY sal DESC,empno ASC;
 
统计月薪与佣金之和大于2500元的人数:
SELECT COUNT(*) AS cnt FROM emp WHERE sal+IFNULL(comm,0) > 2500;
 

查询有佣金的人数,有领导的人数:
SELECT COUNT(comm), COUNT(mgr) FROM emp;
 

SUM和AVG
当需要纵向求和时使用sum()函数。
查询所有雇员月薪和:
SELECT SUM(sal) FROM emp;
查询所有雇员月薪和,以及所有雇员佣金和:
SELECT SUM(sal), SUM(comm) FROM emp;
查询所有雇员月薪+佣金和:
SELECT SUM(sal+IFNULL(comm,0)) FROM emp;
统计所有员工平均工资:
SELECT AVG(sal) FROM emp;
 
查询最高工资和最低工资:
SELECT MAX(sal), MIN(sal) FROM emp;
 
 
 
原文地址:https://www.cnblogs.com/7920284109q/p/11276907.html