sql、DB、DBMS分别是什么,他们之间的关系?
DB:
DataBase(数据库,数据库实际上在硬盘上以文件的形式存在)
DBMS:
DataBase Management System(数据库管理系统,常见的有:MySQL Oracle DB2 Sybase SqlServer…)
SQL:
结构化查询语言,是一门标准通用的语言。标准的sql适合于所有的数据库产品。
SQL属于高级语言。只要能看懂英语单词的,写出来的sql语句,可以读懂什么意思。
SQL语句在执行的时候,实际上内部也会先进行编译,然后再执行sql。(sql语句的编译由DBMS完成。)
DBMS负责执行sql语句,通过执行sql语句来操作DB当中的数据。
DBMS -(执行)-> SQL -(操作)-> DB
什么是表?
表:table是数据库的基本组成单元,所有的数据都以表格的形式组织,目的是可读性强。
SQL语句分类
DQL(数据查询语言): 查询语句,凡是select语句都是DQL。
DML(数据操作语言):insert delete update,对表当中的数据进行增删改。
DDL(数据定义语言):create drop alter,对表结构的增删改。
TCL(事务控制语言):commit提交事务,rollback回滚事务。(TCL中的T是Transaction)
DCL(数据控制语言): grant授权、revoke撤销权限等。
dos命令窗口:
登录mysql: mysql -uroot -p333
查看有哪些数据库:show databases
创建属于我们自己的数据库:create database bjpowernode;
使用bjpowernode数据库:use bjpowernode;
查看当前使用的数据库中有哪些表?:show tables;
初始化数据:mysql> source D:\course\05-MySQL\resources\bjpowernode.sql
删除数据库:drop database bjpowernode;
查看表结构:desc emp;
select version(); 查看mysql的版本号。
sql脚本
bjpowernode.sql,这个文件以sql结尾,这样的文件被称为“sql脚本”。什么是sql脚本呢?
当一个文件的扩展名是.sql,并且该文件中编写了大量的sql语句,我们称这样的文件为sql脚本。
注意:直接使用source命令可以执行sql脚本。
sql脚本中的数据量太大的时候,无法打开,请使用source命令完成初始化。:mysql> source D:\course\05-MySQL\resources\bjpowernode.sql
1.数据查询语言DQL
(Data Query Language)
NULL
在数据库当中NULL不是一个值,代表什么也没有,为空。
空不是一个值,不能用等号衡量。
必须使用 is null或者is not null
select ename,sal,comm from emp where comm is null;
模糊查询like
找出名字当中含有O的?
(在模糊查询当中,必须掌握两个特殊的符号,一个是%,一个是_)
%代表任意多个字符(0个至多个),_代表任意1个字符。
select ename from emp where ename like ‘%O%’;
找出名字中有下划线的?
select name from t_user where name like ‘%\_%’;
排序
默认是升序。asc表示升序,desc表示降序。
按照工资的降序排列,当工资相同的时候再按照名字的升序排列。
select ename,sal from emp order by sal desc , ename asc;
注意:越靠前的字段越能起到主导作用。只有当前面的字段无法完成排序的时候,才会启用后面的字段。
分组函数
分组函数自动忽略NULL。