目录
MySQL
1.sql、DB、DBMS分别是什么,他们之间有什么关系?
DB:
- DataBase (数据库,数据库实际上在硬盘上以文件的形式存在)
DBMS:
- DataBase Management system (数据库管理系统,常见的有:MySQL Oracel DB2 sybase sqlserver...)
SQL:
- 结构化查询语言,是一门标准通用的语言。标准的sql适合于所有的数据库产品。
- sql属于高级语言,sql语句在执行的时候,实际上内部也会先进行编译,然后再执行(sql语句的编译是由DBMS完成。)
DBMS 负责执行sql语句,通过执行sql语句来操作DB当中的数据。
DBMS -(执行)->SQL-(操作) ->DB
2.对表的理解
表:table,是数据库的基本组成单元,所有的数据都以表格的形式组织,目的是可读性强
一个表包含行和列
- 行:被称为数据/记录
- 列:被称为字段(字段名称、字段数据类型、字段约束)
3.SQL语句的分类
- DQL(数据查询语言): 查询语句,凡是select语句都是DQL。
- DML(数据操作语言):insert 、delete 、update,对表当中的数据进行增删改。
- DDL(数据定义语言):create drop alter,对表结构的增删改。
- TCL(事务控制语言):commit提交事务,rollback回滚事务。(TCL中的T是Transaction)
- DCL(数据控制语言): grant授权、revoke撤销权限等。
4.导入数据
- 1. 登录mysql数据库管理系统
dos命令窗口(命令行输入(cmd+回车)进入:
mysql -uroot -p(密码)
- 2. 查看有哪些数据库
show databases; (这个不是SQL语句,属于MySQL的命令。)
- 3. 创建属于我们自己的数据库
create database bjpowernode; (这个不是SQL语句,属于MySQL的命令。)
- 4. 使用bjpowernode数据
use bjpowernode; (这个不是SQL语句,属于MySQL的命令。)
- 5. 查看当前使用的数据库中有哪些表?
show tables; (这个不是SQL语句,属于MySQL的命令。)
- 6. 初始化数据
mysql> source D:\拜师教育资料包\mysql资料\数据脚本\bjpowernode\bjpowernode.sql
注意:数据初始化完成之后,输入show tables; 有三张表:
+-----------------------+
| Tables_in_bjpowernode |
+-----------------------+
| dept |
| emp |
| salgrade |
+-----------------------+
5、什么是sql脚本呢?
当一个文件的扩展名是.sql,并且该文件中编写了大量的sql语句,我们称这样的文件为sql脚本。
注意:直接使用source命令可以执行sql脚本。( sql脚本中的数据量太大的时候,无法打开,请使用source命令完成初始化。)
6、 删除数据库
drop database bjpowernode;
7、 查看表结构
desc 表名;
mysql> desc dept;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| DEPTNO | int(2) | NO | PRI | NULL | | 部门编号
| DNAME | varchar(14) | YES | | NULL | | 部门名称
| LOC | varchar(13) | YES | | NULL | | 部门位置
+--------+-------------+------+-----+---------+-------+
mysql> desc emp;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| EMPNO | int(4) | NO | PRI | NULL | | 员工编号
| ENAME | varchar(10) | YES | | NULL | | 员工姓名
| JOB | varchar(9) | YES | | NULL | | 工作岗位
| MGR | int(4) | YES | | NULL | | 上级领导编号
| HIREDATE | date | YES | | NULL | | 入职日期
| SAL | double(7,2) | YES | | NULL | | 月薪
| COMM | double(7,2) | YES | | NULL | | 补助/津贴
| DEPTNO | int(2) | YES | | NULL | | 部门编号
+----------+-------------+------+-----+---------+-------+
mysql> desc salgrade;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| GRADE | int(11) | YES | | NULL | | 等级
| LOSAL | int(11) | YES | | NULL | | 最低薪资
| HISAL | int(11) | YES | | NULL | | 最高薪资
8 、查看表中的数据
mysql> select * from 表名;
mysql> select * from emp;
+-------+--------+-----------+------+------------+---------+---------+--------+
| EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO |
+-------+--------+-----------+------+------------+---------+---------+--------+
| 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800.00 | NULL | 20 |
| 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600.00 | 300.00 | 30 |
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250.00 | 500.00 | 30 |
| 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975.00 | NULL | 20 |
| 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250.00 | 1400.00 | 30 |
| 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850.00 | NULL | 30 |
| 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2450.00 | NULL | 10 |
| 7788 | SCOTT | ANALYST | 7566 | 1987-04-19 | 3000.00 | NULL | 20 |
| 7839 | KING | PRESIDENT | NULL | 1981-11-17 | 5000.00 | NULL | 10 |
| 7844 | TURNER | SALESMAN | 7698 | 1981-09-08 | 1500.00 | 0.00 | 30 |
| 7876 | ADAMS | CLERK | 7788 | 1987-05-23 | 1100.00 | NULL | 20 |
| 7900 | JAMES | CLERK | 7698 | 1981-12-03 | 950.00 | NULL | 30 |
| 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000.00 | NULL | 20 |
| 7934 | MILLER | CLERK | 7782 | 1982-01-23 | 1300.00 | NULL | 10 |
+-------+--------+-----------+------+------------+---------+---------+--------+
9 、chang'yong
- 1.mysql> select database(); 查看当前使用的是哪个数据库
mysql> select database();
+-------------+
| database() |
+-------------+
| bjpowernode |
+-------------+
- 2.mysql> select version(); 查看mysql的版本号。
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.19 |
+-----------+
- 3.\c 命令,结束一条语句。
- 4.exit 命令,退出mysql。
10、查看创建表的语句:
show create table emp;