1、sql DB DBMS 分别是什么,他们之间的关系是什么?
DB: DateBase (数据库, 数据库实际上在硬盘上以文件的形式存在)
DBMS: DataBase Management System (数据库管理系统, 常见的有:MySql Oracle DB2 )
sql: 结构化查询语言,是一门标准通用的语言 . 标准的sql适用于所有的数据库产品
SQL属于高级语言 。 只要能看懂英语单词, 写出来的sql语句,可以读懂什么意思;
SQL语句执行的时候,实际上内部也会先进行编译,然后在执行sql。 sql语句的编译由DBMS完成;
DBMS负责执行sql语句,通过执行sql语句来操作DB中的数据 。
DBMS -(执行)=>SQL -> (操作) ->DB
**
2、表是什么?
表: table是数据库的基本组成单元,所有的数据都是以表格的形式组织,
一个表包括行和列;
行:被称为数据/记录(data)
列:被称为字段(column)**
学号(int) 姓名(varchar) 年龄(int)
————————————————————————-
110 张三 20
120 廖鹏 23
3、学习MySQL主要是学习通用的SQL语句,那么对SQL语句的正删改查,SQL语句应该怎么分类呢?
DQL(数据库查询语言):查询语句,凡是select语句都是DQL;
DML(数据库操作语言):insert delete update 对表当中的数据进行增删改查。
DDL(数据库定义语言):creat drop alter, 对表结构的增删改。
TCL(事务控制语言):commit 提交事务,rollback回滚事务。T:代表transaction;
DCL(数据控制语言):grant授权、revoke撤销权限等;
4、导入数据
第一步:登录mysql 数据库管理系统
dos命令窗口:
mysql -uroot -pling.0226
第二步:查看有哪些数据库
show database; (查看当前库中的表) (这个不是SQL语句,是SQL命令)
如果要查看别的库中的表 show tables from 表名
第三步:创建属于我们自己的数据库
creat database bjpowernode; (这个不是SQL语句,是SQL命令)
第四步:使用这个创建的数据库
use bjpowernode;(这个不是SQL语句,是SQL命令)
第五步:初始化脚本;(导入SQL脚本文件)
source C:\Users\admin\Desktop\resources\bjpowernode.sql
5、bjpowernode.sql,这个文件以sql结尾,这样的文件被称为sql脚本。什么是sql脚本呢?
当一个文件的扩展名是.sql,并且该文件中编写了大量的sql语句,我们称这样的文件为sql脚本。
注意:直接使用source命令可以执行sql脚本;
sql脚本中的数据量太大的时候,就无法打开,请使用source命令完成初始化。
6、查询SQL命令(不是通用的,换一个oracle数据库就不一样了)
1.查看表的结构
desc 表名;
2.查询表的所有字段
select * from 表名;
3.查询当前sql版本
select version();
4.查看当前用的是哪个数据库
5.如何结束这条语句
\c 命令,结束一条语句
6.退出命令
7.查看创建表的语句
show create table 表名;
7、简单的查询语句(DQL)
select 字段名1,字段名2,字段名3… from 表名;
提示:
1.任何一条sql语句需要以 ‘ : ‘分号结尾。
2.sql语句不区分大小写;
查询结果中列名重复
select ename,sal 12 as yearSal from emp;(使用as 关键字起别名);
select ename,sal 12 yearSal from emp; (as 关键字可以省略)
sql语句中需要使用单引号将字符串括起来;
8、条件查询
select 字段,字段。。。from 表名 where 条件;
执行顺序:先from 然后where 最后select
查询工资等于5000的员工姓名?
slelect ename from emp where sal = 5000;
查询史密斯的工资?
select val from emp where ename=’史密斯’
找出工资高于3000的员工?
select ename,sal from emp where sal >3000;
select ename,sal from emp where sal >=3000;
select ename,sal from emp where sal <=3000;
select ename,sal from emp where sal !=3000;
select ename,sal from emp where sal <>3000;
找出工资在1000和3000之间的员工,包括1100和3000?
select ename,sal from emp where sal >=1000 and sal <=3000;
select ename,sal from emp where sal between 1000 and 3000;
注意:是左小右大。
