文章目录
day01课堂笔记
每天晚上敲两边
逗号使用:函数当中的值,字段与字段之间
本文章为学习动力节点的杜老师,视频链接如下
https://www.bilibili.com/video/BV1Vy4y1z7EX
源码+文档+学习资料+安装工具[点赞]都已经为大家准备好!!!!链接:https://pan.baidu.com/s/1PTbdG-olm8mpEzz-zXe6bw
提取码:m0bc
1、数据库概述及数据准备
1.1、什么是数据库
数据库:英文单词DataBase,简称DB。
按照一定格式存储数据的一些文件的组合。
顾名思义:存储数据的仓库,实际上就是一堆文件。这些文件中存储了具有特定格式的数据。
1.2、什么是数据库管理系统
数据库管理系统:DataBaseManagement,简称DBMS。
数据库管理系统是专门用来管理数据库中数据的,数据库管理系统可以对数据库当中的数据进行增删改查。
常见的数据库管理系统:
MySQL、Oracle、MS SqlServer、DB2、sybase等…
1.3、SQL概述
SQL:结构化查询语言
程序员需要学习SQL语句,程序员通过编写SQL语句,然后DBMS负责执行SQL语句,最终来完成数据库中数据的增删改查操作。
SQL是一套标准,程序员主要学习的就是SQL语句,这个SQL在mysql中可以使用,同时在Oracle中也可以使用,在DB2中也可以使用。
三者之间的关系?
DBMS–执行–> SQL --操作–> DB
先安装数据库管理系统MySQL,然后学习SQL语句怎么写,编写SQL语句之后,DBMS对SQL语句进行执行,
最终来完成数据库的数据管理。
1.4、安装MySQL数据库管理系统。
第一步:先安装,选择“经典版”
第二步:需要进行MySQL数据库实例配置。
注意:一路下一步就行了!!!!!
选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选
择“Custom”,有更多的选项,也方便熟悉安装过程
选择服务器类型,“Developer Machine(开发测试类,mysql 占用很少资源)”、“Server
Machine(服务器类型,mysql 占用较多资源)”、“Dedicated MySQL Server Machine(专
门的数据库服务器,mysql 占用所有可用资源)”,大家根据自己的类型选择了,一般选
“Server Machine”,不会太少,也不会占满
选择 mysql 数据库的大致用途,“Multifunctional Database(通用多功能型,能很好的支持 InnoDB 与
MyISAM 存储引擎)”、“Transactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-
Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对 MyISAM 数据类型的
支持仅限于 non-transactional),随自己的用途而选择了,
需要注意的事项?
端口号:
端口号port是任何一个软件/应用都会有的,端口号是应用的唯一代表。
端口号通常和IP地址在一块,IP地址用来定位计算机的,端口号port是用来定位计算机上某个服务的/某个应用的!
在同一台计算机上,端口号不能重复。具有唯一性。
mysql数据库启动的时候,这个服务占有的默认端口号是3306;这是大家都知道的事儿。记住。
字符编码方式?
设置mysql数据库的字符编码方式为 UTF8x`
一定要注意:先选中第3个单选按钮,然后再选择utf8字符集。
服务名称?
默认是:MySQL;不用改。
选择配置环境变量path:
如果没有选择怎么办?你可以手动配置
path=其它路径;C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin
mysql超级管理员用户名不能改,一定是:root
你需要设置mysql数据库超级管理员的密码。
我们设置为123456
设置密码的同时,可以激活root账户远程访问。
激活:表示root账号可以在外地登录。
不激活:表示root账号只能在本机上使用。
我这里选择激活了!
1.4、MySQL数据库的完美卸载!
第一步:双击安装包进行卸载删除。
第二步:删除目录:
把C:\ProgramData下面的MySQL目录干掉。(隐藏文件)
把C:\Program Files (x86)下面的MySQL目录干掉。
这样就卸载结束了!
1.5、MySQL的服务
计算机–>右键–>管理–>服务和应用程序–>服务–>找mysql服务
MySQL的服务,默认是“启动”的状态,只有启动了mysql才能用。
默认情况下是“自动”启动,自动启动表示下一次重启操作系统的时候自动启动该服务。
可以在服务上点击右键:
- 启动
- 重启服务
- 停止服务
- …
还可以改变服务的默认配置:
服务上点击右键,属性,然后可以选择启动方式:
- 自动(延迟启动)
- 自动
- 手动
- 禁用
1.6、用命令来启动和关闭mysql服务
语法:
- net stop 服务名称;
- net start 服务名称;
其它服务的启停都可以采用以上的命令。
1.7、登录mysql数据库
使用bin目录下的mysql.exe命令来连接mysql数据库服务器
本地登录(显示编写密码的形式):
C:\Users\86178>mysql -uroot -p123456
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.36 MySQL Community Server (GPL)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
本地登录(隐藏密码的形式):
C:\Users\86178>mysql -uroot -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.36 MySQL Community Server (GPL)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
2、MySQL常用命令:
-
退出mysql :exit
-
查看mysql中有哪些数据库?
show databases;
注意:以分号结尾,分号是英文的分号。
mysql默认自带了4个数据库。
-
怎么选择使用某个数据库呢?
mysql> use test;
- 怎么创建数据库呢?
mysql> create database bjpowernode;
mysql> show databases;
- 查看某个数据库下有哪些表?
mysql> use mysql;
mysql> show tables;
注意:以上的命令不区分大小写,都行。
查看mysql数据库的版本号:
mysql> select version();
查看当前使用的是哪个数据库?
mysql> select database();
mysql> show
-> databases
-> ;
注意:mysql是不见“;”不执行,“;”表示终止一条语句!
mysql> show
->
->
->
->
->
->
->
->
-> \c
mysql>
注意:\c用来终止一条命令的输入。
2.1、数据库当中最基本的单元是:表
表(table)是一种结构化的文件,可以用来存储特定类型的数据,如:学生信息,课程信息。
表都有特定的名称,而且不能重复。
表中具有几个概念:列、行、主键。
列叫做字段(Column),行叫做表中的记录,
每一个字段都有:字段名称/字段数据类型/字段约束/字段长度
数据库当中是以表格的形式表示数据的;因为表比较直观。
任何一张表都有行和列:
- 行(row):被称为数据/记录。
- 列(column):被称为字段。
姓名字段、性别字段、年龄字段。
- 每一个字段都有:字段名、数据类型、约束等属性。
- 字段名:是一个普通的名字,见名知意就行。
- 数据类型:字符串,数字,日期等,后期讲。
- 约束:约束也有很多,其中一个叫做唯一性约束,这种约束添加之后,该字段中的数据不能重复。
2.2、关于SQL语句的分类?
SQL语句有很多,最好进行分门别类,这样更容易记忆,分为:
-
DQL:数据查询语言 (DQL-Data Query Language)
凡是带有select关键字的都是查询语句
select...
-
DML:数据操作语言 (DML-Data Manipulation Language)
凡是对表当中的数据进行增删改的都是DML
insert 增
delete 删
update 改
注意:这个主要是操作表中的数据data。
-
DDL:数据定义语言 (DDL-Data Definition Language)
DDL主要操作的是表的结构,不是表中的数据。
create:新建,等同于增
drop:删除
alter:修改 注意:这个增删改和DML不同,这个主要是对表结构进行操作。
-
TCL:事务控制语言 (TCL-Transactional Control Language)
事务提交:commit;
事务回滚:rollback,
-
DCL:是数据控制语言 (DCL-Data Control Language)
授权:grant
撤销权限:revoke
2.3、导入一下提前准备好的数据:
使用 MySQL 命令行客户端来装载数据库。
- 连接 MySql
mysql -uroot -p123456;
- 创建“bjpowernode”数据库
mysql> create database bjpowernode;
- 选择数据库
mysql> use bjpowernode
- 导入数据
mysql>source D:\ bjpowernode.sql
- 删除数据库(这里不要做!)
mysql> drop database bjpowernode;
怎么将sql文件中的数据导入呢?
mysql> source D:\course\03-MySQL\document\bjpowernode.sql
注意:路径中不要有中文!!!!
3、查看表结构
3.1**、查看和指定现有的数据库**
mysql> show databases;
3.2**、指定当前缺省数据库**
mysql> use bjpowernode;
3.3**、查看当前使用的库**
mysql> select database();
3.4**、查看当前库中的表**
mysql> show tables;
3.5**、查看其他库中的表**
mysql> show tables from exam;
3.6**、查看表的结构**
mysql> desc emp;
mysql> show tables;
+-----------------------+
| Tables_in_bjpowernode |
+-----------------------+
| dept |
| emp |
| salgrade |
+-----------------------+
- dept是部门表
- emp是员工表
- salgrade 是工资等级表
怎么查看表中的数据呢?
select * from 表名;
mysql> select * from emp;// 从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 | N