文章目录
MySQL下载请查看: MySQL基础入门【1】下载与使用
动力节点入门视频链接: MySQL基础入门-mysql教程-数据库实战(MySQL基础+MySQL高级+MySQL优化+MySQL34道作业题)
数据及笔记下载链接:
百度云链接
提取码:0r3s
我的笔记本每次使用之前都要更新一下.bash_profile文件
source ~/.bash_profile
01登陆
Mysql的服务端口是3306,这个在windows需要配置
02 sql DB DBMS分别是什么,他们之间的关系
DB: DataBase 数据库,数据库实际上是在硬盘上以文件的形式存在
DBMS:DataBase Management System 数据库管理系统, MySQL, Oracle, DB2, SqlServer
SQL: 结构化查询语言
03 什么是表
table是数据库的基本组成单元,所有的数据都以表格的形式组织,目的是可读性强。
一个表包括行和列:
行:被称为数据/记录(data)
列:被称为字段(column)
学号(int) 姓名(varchar) 年龄(int)
------------------------------------
110 张三 20
120 李四 21
每一个字段应该包括哪些属性?
字段名、数据类型、相关的约束( not null)。
3.1 SQL语句的分类
学习MySQL主要是学习通用的SQL语句,增删改查
DQL(Data query language)(数据查询语言): 查询语句,凡是select语句都是DQL。
DML(Data manage language)(数据操作语言):insert delete update,对表当中的数据进行增删改。
DDL(Data Definition language)(数据定义语言):create drop alter,对表结构的增删改。
TCL(Task Control language)(事务控制语言):commit提交事务,rollback回滚事务。(TCL中的T是Transaction)
DCL (Data Control language)(数据控制语言): grant授权、revoke撤销权限等。用来定义数据库的访问权限和安全级别
04 导入数据
- 登陆mysql数据库管理系统
mysql -uroot -p
- 查看有哪些数据库
这个不是sql语句,属于mysql的命令。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
- 创建数据库:
mysql> create database powernode;
Query OK, 1 row affected (0.00 sec)
- 再次查看;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| powernode |
| sys |
+--------------------+
5 rows in set (0.01 sec)
- use database power node:
mysql> use powernode;
Database changed
- 查看表
mysql> show tables;
Empty set (0.00 sec)
- 初始化数据
mysql> source /Users/mac/Documents/study/SQL/Msq笔记/bjpowernode.sql
- 再查看表,这有三张表
mysql> show tables; (from otherdatabases;)
+-----------------------+
| Tables_in_bjpowernode |
+-----------------------+
| DEPT |
| EMP |
| SALGRADE |
+-----------------------+
3 rows in set (0.00 sec)
- 删除数据库
drop databases bjpowernode;
05 对SQL脚本的理解
bjpowernode.sql,这个文件以sql结尾,这样的文件被称为“sql脚本”。什么是sql脚本呢?
当一个文件的扩展名是.sql,并且该文件中编写了大量的sql语句,我们称这样的文件为sql脚本。
注意:直接使用source命令可以执行sql脚本。
sql脚本中的数据量太大的时候,最大可能有几十M,用记事本无法打开,请使用source命令完成初始化。
使用脚本可以批量执行sql语句。
source /Users/mac/Documents/study/SQL/bjpowernode.sql
06 查看表的结构和数据结构
mysql> show tables;
+-----------------------+
| Tables_in_bjpowernode |
+-----------------------+
| DEPT | (部门表)
| EMP | (员工表)
| SALGRADE | (工资等级表)
+-----------------------+
# 查看表结构,很好理解
mysql> desc dept;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| DEPTNO | int | NO | PRI | NULL | | 部门编号
| DNAME | varchar(14) | YES | | NULL | | 部门名称
| LOC | varchar(13) | YES | | NULL | | 部门位置
+--------+-------------+------+-----+---------+-------+
mysql> desc emp;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| EMPNO | int | NO | PRI | NULL | | 员工编号
| ENAME | varchar(10) | YES | | NULL | | 员工姓名
| JOB | varchar(9) | YES | | NULL | | 工作岗位
| MGR | int | YES | | NULL | | 上级领导编号
| HIREDATE | date | YES | | NULL | | 入职日期
| SAL | double(7,2) | YES | | NULL | | 工资
| COMM | double(7,2) | YES | | NULL | | 补助
| DEPTNO | int | YES | | NULL | | 部门编号
+----------+-------------+------+-----+---------+-------+
mysql> desc salgrade;
+-------+------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------+------+-----+---------+-------+
| GRADE | int | YES | | NULL | | 等级
| LOSAL | int | YES | | NULL | | 最低薪资
| HISAL | int | YES | | NULL | | 最高薪资
+-------+------+------+-----+---------+-------+
6.1 表中的数据
分别查看三个表中的所有数据
sql语句之选择 slect
mysql> select * from salgrade;
+-------+-------+-------+
| GRADE | LOSAL | HISAL |
+-------+-------+-------+
| 1 | 700 | 1200 |
| 2 | 1201 | 1400 |
| 3 | 1401 | 2000 |
| 4 | 2001 | 3000 |
| 5 | 3001 | 9999 |
+-------+-------+-------+
5 rows in set (0.00 sec)
mysql> select * from emp;
+-------+--------+-----------+------+------------+---------+---------+--------+
| EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO |
+-------+--------+