南昌加盟网站制作,烟台市科技局网站,网络链接推广,深圳企业建设网站基本的SELECT语句
1. SQL的分类
DDL:数据定义语言。CREATE \ ALTER \ DROP \ RENAME \ TRUNCATEDML:数据操作语言。INSERT \ DELETE \ UPDATE \ SELECT #xff08;重中之重#xff09;DCL:数据控制语言。COMMIT \ ROLLBACK \ SAVEPOINT \ GRANT \ REVOKE 学习技巧#xf…基本的SELECT语句
1. SQL的分类
DDL:数据定义语言。CREATE \ ALTER \ DROP \ RENAME \ TRUNCATEDML:数据操作语言。INSERT \ DELETE \ UPDATE \ SELECT 重中之重DCL:数据控制语言。COMMIT \ ROLLBACK \ SAVEPOINT \ GRANT \ REVOKE 学习技巧大处着眼、小处着手。
2.SQL的规则与规范
2.1 SQL的规则 ----必须要遵守
SQL 可以写在一行或者多行。为了提高可读性各子句分行写必要时使用缩进每条命令以 ; 或 \g 或 \G 结束关键字不能被缩写也不能分行关于标点符号 必须保证所有的()、单引号、双引号是成对结束的必须使用英文状态下的半角输入方式字符串型和日期时间类型的数据可以使用单引号’ 表示列的别名尽量使用双引号 而且不建议省略as
2.2 SQL的规范 ----建议遵守
MySQL 在 Windows 环境下是大小写不敏感的MySQL 在 Linux 环境下是大小写敏感的 数据库名、表名、表的别名、变量名是严格区分大小写的关键字、函数名、列名(或字段名)、列的别名(字段的别名) 是忽略大小写的。 推荐采用统一的书写规范 数据库名、表名、表别名、字段名、字段别名等都小写SQL 关键字、函数名、绑定变量等都大写
3. MySQL的三种注释的方式
USE dbtest2;-- 这是一个查询语句
SELECT * FROM emp;INSERT INTO emp
VALUES(1002,Tom); #字符串、日期时间类型的变量需要使用一对表示INSERT INTO emp
VALUES(1003,Jerry);# SELECT * FROM emp\GSHOW CREATE TABLE emp\g4. 导入现有的数据表、表的数据。 方式1source 文件的全路径名 举例source d:\atguigudb.sql; 方式2基于具体的图形化界面的工具可以导入数据 比如SQLyog中 选择 “工具” – “执行sql脚本” – 选中xxx.sql即可。
5. 最基本的SELECT语句 SELECT 字段1,字段2,… FROM 表名
SELECT 1 1,3 * 2;SELECT 1 1,3 * 2
FROM DUAL; #dual伪表# *:表中的所有的字段或列
SELECT * FROM employees;SELECT employee_id,last_name,salary
FROM employees;6. 列的别名
as:全称alias(别名),可以省略 列的别名可以使用一对引起来不要使用’。
SELECT employee_id emp_id,last_name AS lname,department_id 部门id,salary * 12 AS annual sal FROM employees;7. 去除重复行
#查询员工表中一共有哪些部门id呢
#错误的:没有去重的情况
SELECT department_id
FROM employees;
#正确的去重的情况
SELECT DISTINCT department_id
FROM employees;#错误的
SELECT salary,DISTINCT department_id
FROM employees;#仅仅是没有报错但是没有实际意义。
SELECT DISTINCT department_id,salary
FROM employees;8. 空值参与运算
1. 空值null 2. null不等同于0‘’‘null’ 3. 空值参与运算结果一定也为空。
SELECT employee_id,salary 月工资,salary * (1 commission_pct) * 12 年工资,commission_pct
FROM employees;
#实际问题的解决方案引入IFNULL
SELECT employee_id,salary 月工资,salary * (1 IFNULL(commission_pct,0)) * 12 年工资,commission_pct
FROM employees;9. 着重号
SELECT * FROM order;10. 查询常数
SELECT 尚硅谷,123,employee_id,last_name
FROM employees;11.显示表结构
DESCRIBE employees; #显示了表中字段的详细信息DESC employees;DESC departments;12.过滤数据
#练习查询90号部门的员工信息
SELECT *
FROM employees
#过滤条件,声明在FROM结构的后面
WHERE department_id 90;#练习查询last_name为King的员工信息
SELECT *
FROM EMPLOYEES
WHERE LAST_NAME King; 基本的SELECT语句的课后练习
1.查询员工12个月的工资总和并起别名为ANNUAL SALARY 理解1计算12月的基本工资
SELECT employee_id,last_name,salary * 12 ANNUAL SALARY
FROM employees;理解2计算12月的基本工资和奖金
SELECT employee_id,last_name,salary * 12 * (1 IFNULL(commission_pct,0)) ANNUAL SALARY
FROM employees;2.查询employees表中去除重复的job_id以后的数据
SELECT DISTINCT job_id
FROM employees;3.查询工资大于12000的员工姓名和工资
SELECT last_name,salary
FROM employees
WHERE salary 12000;4.查询员工号为176的员工的姓名和部门号
SELECT last_name,department_id
FROM employees
WHERE employee_id 176;5.显示表 departments 的结构并查询其中的全部数据
DESCRIBE departments;
SELECT * FROM departments;