2019-08-21

-- SQL的分类
-- DDL(数据定义语言):
-- creat alert(修改表结构) drop(删除表) truncate(截断表)清空数据
-- DML(数据操纵语言):insert(添加) update(修改) delete(删除)
-- TCL(事故控制语言):commit(提交) rollback(回滚)取消之前所有的操作
-- DQL(数据查询语言):select(查询)
-- 语法
-- INSERT INTO 表名称 VALUES (值1, 值2,....)
INSERT INTO student VALUES(4,'jazz',20,'neusoft');
SELECT * from student
INSERT INTO student(id,name) VALUE(7,'fz');
insert into student value(4,'kill',64,'killschool')
select name,school from student where id=3
-- 我们也可以指定所要插入数据的列:

-- INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
INSERT INTO student(name,age) VALUES('tome',30);
-- DELETE 语句用于删除表中的行。
-- 语法 DELETE FROM 表名称 WHERE 列名称 = 值
-- delet与truncate区别
-- 使用delete删除的数据可以恢复 ,而使用truncate删除表中的数据是无法回复的
DELETE from student WHERE ID=2;
DELETE from student WHERE NAME='jazz';
-- Update 语句用于修改表中的数据。
-- 语法:
-- UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
UPDATE student SET NAME='tom',age=90 WHERE id=3;
-- 基本的查询
SELECT * from emp;
SELECT ename,job,sal FROM emp;
select * from dept
select dname from dept

-- 给查询出来的列起一个别名
SELECT e.ename,e.job,e.sal FROM emp e
SELECT e.* FROM emp e

select empno,ename,sal*12 sal FROM emp

-- 查询员工的编号,姓名,月收入
-- 一个数与空运算的话最终都为空
-- Mysql中会提供一个函数ifnull(a,b)如果为空就将空值的列换成0
SELECT emp.* FROM emp
SELECT empno,ename,sal,sal+IFNULL(comm,0) income FROM emp

-- DISTINKT去掉重复数据
SELECT DISTINCT deptno FROM emp

-- 根据条件进行查询
-- 运算符(运算比较运算符:> >= < <= != / <>)
SELECT * FROM emp WHERE empno=1001

SELECT * FROM emp WHERE ename='tom'

SELECT empno,ename,sal from emp where sal>=3800

-- 时间比较运算符 now()是nysql中的系统函数,表示当前日期时间
-- dual是mysql中提供的一个测试表
hiredate=now() 入职日期是今天
hiredate<>now() 入职日期不是今天
hiredate hiredate>=now() 入职日期是今天之后,包含今天
select now() FROM dual
select empno,ename,hiredate FROM emp where hiredate=now()

你可能感兴趣的:(2019-08-21)