自学内容网 自学内容网

mysql数据库管理(2)

数据库增删改查

sql文件传到Linux /home目录下面

mysql –uroot –p

create database test;

use test;

source myemployees.sql(如果在home目录下,直接source .sql

show tables;

select * from departments;

psSQL 语言大小写不敏感。
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 employees

where 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 子句排序
– ASCascend : 升序
– DESCdescend : 降序
• 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),例如:CREATEDROPALTER等语句。

数据操作语言(DML),例如:INSERT(插入)UPDATE(修改)DELETE(删除)语句。

数据查询语言(DQL),例如:SELECT语句。(一般不会单独归于一类,因为只有一个语句)

数据控制语言(DCL),例如:GRANTREVOKE等语句。

事务控制语句(TCL),例如:COMMITROLLBACK等语句。

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)!