mysql数据库管理(2)
数据库增删改查
将sql文件传到Linux /home目录下面
mysql –uroot –p
create database test;
use test;
source myemployees.sql(如果在home目录下,直接source .sql)
show tables;
select * from departments;
ps:SQL 语言大小写不敏感。
SQL 可以写在一行或者多行
关键字不能被缩写也不能分行
各子句一般要分行写。
使用缩进提高语句的可读性。
列的别名
• 重命名一个列。
• 便于计算。
• 紧跟列名, 也可以在列名和别名之间加入关键字‘AS’ ,别名使用双引号, 以便在别名中包含空格或特殊的字符并区分大小写
select last_name AS name,commission_pct comm from employees;
显示表结构
describe employees;
使用WHERE 子句,将不满足条件的行过滤掉。
WHERE 子句紧随 FROM 子句。
select employee_id,last_name,job_id,department_id from employeeswhere department_id=90;
比较运算
操作符 | 含义 |
= | 等于 (不是 ==) |
> | 大于 |
>= | 大于、等于 |
< | 小于 |
<= | 小于、等于 |
<> | 不等于 (也可以是 !=) |
赋值使用 := 符号
select last_name,salary from employees where salary<=3000;
使用 BETWEEN 运算来显示在一个区间内的值
select last_name,salary from employees where salary between 2500 and 3500;
LIKE
• 使用 LIKE 运算选择类似的值
• 选择条件可以包含字符或数字:
– % 代表零个或多个字符(任意个字符)。
– _ 代表一个字符。
select first_name from employees where first_name like 's%';
NULL
使用 IS (NOT) NULL 判断空值。
SELECT last_name, manager_id
FROM employees
WHERE manager_id IS NULL;
逻辑运算
操作符 | 含义 |
AND | 逻辑并 |
OR | 逻辑或 |
NOT | 逻辑否 |
AND
AND 要求并的关系为真。
SELECT employee_id, last_name, job_id, salary
FROM employees
WHERE salary >=10000
AND job_id LIKE '%MAN%';
OR
OR 要求或关系为真。
SELECT employee_id, last_name, job_id, salary
FROM employees
WHERE salary >= 10000
OR job_id LIKE '%MAN%';
NOT
SELECT last_name, job_id
FROM employees
WHERE job_id
NOT IN ('IT_PROG', 'ST_CLERK', 'SA_REP');
ORDER BY子句
• 使用 ORDER BY 子句排序
– ASC(ascend) : 升序
– DESC(descend) : 降序
• ORDER BY 子句在SELECT语句的结尾。
SELECT last_name, job_id, department_id, hiredate
FROM employees
ORDER BY hiredate ;
降序排列
SELECT last_name, job_id, department_id, hiredate
FROM employees
ORDER BY hiredate desc;
多个列排序
按照ORDER BY 列表的顺序排序。
• 可以使用不在SELECT 列表中的列排序。
SELECT last_name, department_id, salary
FROM employees
ORDER BY department_id, salary DESC;
AVG( 平均值)和 SUM ( 合计)函数
可以对数值型数据使用AVG 和 SUM 函数
SELECT AVG(salary), MAX(salary),
MIN(salary), SUM(salary)
FROM employees
WHERE job_id LIKE '%REP%';
MIN( 最小值)和 MAX( 最大值)函数
可以对任意数据类型的数据使用 MIN 和 MAX 函数。
数据库语言类型
数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。
数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。
数据查询语言(DQL),例如:SELECT语句。(一般不会单独归于一类,因为只有一个语句)。
数据控制语言(DCL),例如:GRANT、REVOKE等语句。
事务控制语句(TCL),例如:COMMIT、ROLLBACK等语句。
SQL语言包括四类种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)还有事务控制语言(TCL)。
数据操纵语言
• DML(Data Manipulation Language –数据操纵语言) 可以在下列条件下执行:
– 向表中插入数据
– 修改现存数据
– 删除现存数据
INSERT 语句语法
• 使用 INSERT 语句向表中插入数据。
• 使用这种语法一次只能向表中插入一条数据。
为每一列添加一个新值。
• 按列的默认顺序列出各个列的值。
• 在 INSERT 子句中随意列出列名和他们的值。
• 字符和日期型数据应包含在单引号中。
INSERT INTO departments(department_id, department_name,
manager_id, location_id)
VALUES (280, 'Public Relations', 100, 1700);
insert into employees(employee_id,last_name,email,hiredate,job_id)
values(300,'Tom','tom@126.com',str_to_date('2024-04-24','yyyy-mm-dd'),'SA_REP');
向表中插入空值
insert into departments values (290,'finance',null,null);
插入指定的值
NOW()函数: 记录当前系统的日期和时间。
INSERT INTO employees (employee_id,
first_name, last_name,
email, phone_number,
hiredate, job_id, salary,
commission_pct, manager_id,
department_id)
VALUES (207,
'Louis', 'Popp',
'LPOPP', '515.124.4567',
NOW(), 'AC_ACCOUNT', 6900,
NULL, 205, 100);
更新数据
使用 WHERE 子句指定需要更新的数据
UPDATE employees
SET department_id = 70
WHERE employee_id = 113;
如果省略 WHERE 子句,则表中的所有数据都将被更新。
删除数据
使用 WHERE 子句删除指定的记录。
DELETE FROM departments
WHERE department_name = 'Finance';
如果省略 WHERE 子句,则表中的全部数据将被删除。
原文地址:https://blog.csdn.net/qq_63926306/article/details/140610040
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!