数据库总结学习
最近和同学在学习开发一个项目,用到了数据库的内容,这几天学习梳理了一下,主要是根据某视频网站的公开课学的,在这里整理一下视频源代码的笔记,加深印象。
1入门
数据库版本是5.7.30
登录MySQL
1、sql、DB、DBMS分别是什么,他们之间的关系?
-
DB:
DataBase(数据库,数据库实际上在硬盘上以文件的形式存在) -
DBMS:
DataBase Management System(数据库管理系统,常见的有:MySQL Oracle DB2 Sybase SqlServer…) -
SQL:
结构化查询语言,是一门标准通用的语言。标准的sql适合于所有的数据库产品。 -
总结:DBMS负责执行sql语句,通过执行sql语句来操作DB当中的数据。
DBMS -(执行)-> SQL -(操作)-> DB
2、什么是表?
表:table是数据库的基本组成单元,所有的数据都以表格的形式组织,目的是可读性强。
一个表包括行和列:
行:被称为数据/记录(data)
列:被称为字段(column)
学号(int) 姓名(varchar) 年龄(int)
------------------------------------
110 张三 20
120 李四 21
3、学习MySQL主要还是学习通用的SQL语句,怎么分类呢?
DQL(数据查询语言): 查询语句,凡是select语句都是DQL。
DML(数据操作语言):insert delete update,对表当中的数据进行增删改。
DDL(数据定义语言):create drop alter,对表结构的增删改。
TCL(事务控制语言):commit提交事务,rollback回滚事务。(TCL中的T是Transaction)
DCL(数据控制语言): grant授权、revoke撤销权限等。
2基础使用方法
4、导入数据(后期大家练习的时候使用这个演示的数据)
第一步:登录mysql数据库管理系统
dos命令窗口:
mysql -uroot -p12345
第二步:查看有哪些数据库
show databases;
第三步:创建属于我们自己的数据库
create database bjpowernode;
第四步:使用数据
use bjpowernode;
第五步:查看当前使用的数据库中有哪些表?
show tables;
第六步:初始化数据
mysql> source D:\bjpowernode.sql
5、什么是sql脚本呢?
当一个文件的扩展名是.sql,并且该文件中编写了大量的sql语句,我们称这样的文件为sql脚本。
注意:直接使用source命令可以执行sql脚本。
6、删除数据库:drop database bjpowernode;
7、查看表结构:
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 | | 等级
| LOSA