1.sql,DB,DBMS分别是什么,他们之间的关系?
DB:Database(数据库,数据库实际在硬盘上以文件的形式存在)
DBMS: DataBase Management System(数据库管理系统,常见的有Mysql,Orace,SqlSerrver)
sql:结构化查询语言,是一门标准通用的语言,标准的sql适合于所有的数据库产品;sql属于高级语言;
sql语言在执行时,实际内部也会先进行编译,然后再执行sql,(sql的编译由DBMS完成)
DBMS负责执行sql语句,通过执行sql语句来操作DB当中的数据;
DBMS-(执行)->SQL--(操作)-->DB
什么是数据库?
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库
每一个字段应该包括什么属性?字段名,数据类型,相关的约束;
命令
1.连接数据库:mysql -u root -p ;
2.展示数据库:show databases;
3.选定某个数据库:use bjpowernode;
4.导入sql脚本(表):(直接拖文件进来也就可以)source E:\MySQL Datafiles\bjpowernode.sql
bjpowernode.sql .sql文件为sql脚本;
注意:直接使用source命名可以执行sql脚本;
sql脚本中数据量太大的时候,无法打开,请使用source命令完成初始化;
删除数据库:drop database practice;
查看表结构: desc dept;
查看表内元素:select *from emp;
查看正在使用的表: select database();
查询数据库版本:select version();
\c:结束一条语句;
退出:exit;
查看表的创建语句:show create table emp;
5.展示某个数据库中的全部表:show tables;
创建属于自己的数据库:create database practice;
简单sql语句查询
1.sql语句分为哪六大类?具体说明
数据查询语言 代表关键字:select
数据操纵语言 代表关键字:insert,delete,update
数据定义语言 代表关键字:create ,drop,alter,
事务控制语言 代表关键字:commit
数据控制语言 代表关键字:grant,revok
DQL:(数据查询语言) 查询语句,凡是select语句都是DQL;
DML:(数据操作语言)insert,delete,update,对表中的数据进行删改;
DDL:(数据定义语言)create drop after,对表结构的增删改;
TCL:(事务控制语言)comit提交事务;rollback回滚事务;
DCL:(数据控制语言) grant授权,revoke撤销权限;
2.查询emp表里面全部字段(内容) select*from emp;
3.查询emp表中员工的名字ename(单个字段的查询)select ename from emp;
4.查询emp表中员工的编号(empno)和名字(ename)(多个字段的查询)select empno,job from emp;
5.计算emp表中员工的年薪并重命名为yearsal(emp表中的sal为月薪)select sal*12 as yealsal from emp;
条件查询
1.where语句可以实现一个什么查询 条件查询(挑出符合条件的)
2.between 1 and 9 这个运算符类等于 x>1&&x<9吗?
不一样,前者包括1和9;后者无两个端点值。
3.查询emp表中薪资在1000到3000之间的员工(包含1000和3000)
select*from emp where sal between 1000 and 3000;
4.模糊查询用到什么关键字?
like;
%在模糊查询中起到什么作用:匹配任意字符出现的个数
_(下划线)在模糊查询中起到什么作用: 只匹配单个字符
5.查询emp表中姓名(ename)以 M 开头所有的员工 select*from emp where ename like 'M%';
6.查询emp表中姓名中第二个字符为 A 的所有员工 select*from emp where ename like '_A%';
排序查询
1.排序用到什么关键字? order by;(默认升序) order by 放在 where语句后面;
2.手动指定从大到小用到的关键字和从小到大的关键字:
从大到小:desc;
从小到大:asc;
3.按照薪水(sal)由小到大排序(系统默认由小到大)
select*from emp order by sal;
select*from emp order by sal asc;
4.手动指定按照薪水(sal)由大到小排序
select*from emp order by sal desc;
5.按照 job 和薪水倒序:
select * from emp order by job desc,sal desc;