⽼杜带你学mysql课堂笔记源码⽬录
mysql day01课堂笔记
1、什么是数据库?什么是数据库管理系统?什么是SQL?他们之间的关系是什么?
数据库:
英⽂单词DataBase,简称DB。按照⼀定格式存储数据的⼀些⽂件的组合。
顾名思义:存储数据的仓库,实际上就是⼀堆⽂件。这些⽂件中存储了
具有特定格式的数据。
数据库管理系统:
DataBaseManagement,简称DBMS。
数据库管理系统是专门⽤来管理数据库中数据的,数据库管理系统可以
对数据库当中的数据进⾏增删改查。
常见的数据库管理系统:
MySQL、Oracle、MS SqlServer、DB2、sybase等....
SQL:结构化查询语⾔
程序员需要学习SQL语句,程序员通过编写SQL语句,然后DBMS负责执⾏SQL
语句,最终来完成数据库中数据的增删改查操作。
SQL是⼀套标准,程序员主要学习的就是SQL语句,这个SQL在mysql中可以使⽤,
同时在Oracle中也可以使⽤,在DB2中也可以使⽤。
三者之间的关系?
DBMS--执⾏--> SQL --操作--> DB
先安装数据库管理系统MySQL,然后学习SQL语句怎么写,编写SQL语句之后,DBMS
对SQL语句进⾏执⾏,最终来完成数据库的数据管理。
2、安装MySQL数据库管理系统。
第⼀步:先安装,选择“经典版”
第⼆步:需要进⾏MySQL数据库实例配置。
注意:⼀路下⼀步就⾏了!!!!!
需要注意的事项?
端⼝号:
端⼝号port是任何⼀个软件/应⽤都会有的,端⼝号是应⽤的唯⼀代表。
端⼝号通常和IP地址在⼀块,IP地址⽤来定位计算机的,端⼝号port
是⽤来定位计算机上某个服务的/某个应⽤的!
在同⼀台计算机上,端⼝号不能重复。具有唯⼀性。
mysql数据库启动的时候,这个服务占有的默认端⼝号是3306
这是⼤家都知道的事⼉。记住。
字符编码⽅式?
设置mysql数据库的字符编码⽅式为 UTF8
⼀定要注意:先选中第3个单选按钮,然后再选择utf8字符集。
服务名称?
默认是:MySQL
不⽤改。
选择配置环境变量path:
如果没有选择怎么办?你可以⼿动配置
path=其它路径;C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin
mysql超级管理员⽤户名不能改,⼀定是:root
你需要设置mysql数据库超级管理员的密码。
我们设置为123456
设置密码的同时,可以激活root账户远程访问。
激活:表⽰root账号可以在外地登录。
不激活:表⽰root账号只能在本机上使⽤。
我这⾥选择激活了!
3、MySQL数据库的完美卸载!
第⼀步:双击安装包进⾏卸载删除。
第⼆步:删除⽬录:
把C:\ProgramData下⾯的MySQL⽬录⼲掉。
把C:\Program Files (x86)下⾯的MySQL⽬录⼲掉。
这样就卸载结束了!
4、看⼀下计算机上的服务,⼀MySQL的服务在哪⾥?
计算机-->右键-->管理-->服务和应⽤程序-->服务-->mysql服务MySQL的服务,默认是“启动”的状态,只有启动了mysql才能⽤。
默认情况下是“⾃动”启动,⾃动启动表⽰下⼀次重启操作系统的时候
⾃动启动该服务。
可以在服务上点击右键:
启动
重启服务
停⽌服务
...
还可以改变服务的默认配置:
服务上点击右键,属性,然后可以选择启动⽅式:
⾃动(延迟启动)
⾃动
⼿动
禁⽤
5、在windows操作系统当中,怎么使⽤命令来启动和关闭mysql服务呢?语法:
net stop 服务名称;
net start 服务名称;
其它服务的启停都可以采⽤以上的命令。
6、mysql安装了,服务启动了,怎么使⽤客户端登录mysql数据库呢?
使⽤bin⽬录下的命令来连接mysql数据库服务器
本地登录(显⽰编写密码的形式):
C:\Users\Administrator>mysql -uroot -p123456
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
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\Administrator>mysql -uroot -p
Enter password: ******
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>
7、mysql常⽤命令:
退出mysql :exit
查看mysql中有哪些数据库?
show databases;
注意:以分号结尾,分号是英⽂的分号。mysql> show databases;
+--------------------+
| Database          |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test              |
+--------------------+
mysql默认⾃带了4个数据库。
怎么选择使⽤某个数据库呢?
mysql> use test;
Database changed
表⽰正在使⽤⼀个名字叫做test的数据库。
怎么创建数据库呢?
mysql> create database bjpowernode;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database          |
+--------------------+
| information_schema |
| bjpowernode        |
| mysql              |
| performance_schema |
| test              |
+--------------------+
查看某个数据库下有哪些表?
mysql> show tables;
注意:以上的命令不区分⼤⼩写,都⾏。
查看mysql数据库的版本号:
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.5.36    |
+-----------+
查看当前使⽤的是哪个数据库?
mysql> select database();
+-------------+
| database()  |
+-------------+
| bjpowernode |
+-------------+
mysql> show
-> databases
-> ;
+--------------------+
| Database          |
+--------------------+
| information_schema |
| bjpowernode        |
| mysql              |
| performance_schema |
| test              |
+--------------------+
注意:mysql是不见“;”不执⾏,“;”表⽰结束!mysql> show
->
->
->
->
-
>
->
->
->
-> \c
mysql>
\c⽤来终⽌⼀条命令的输⼊。
8、数据库当中最基本的单元是表:table
什么是表table?为什么⽤表来存储数据呢?
姓名性别年龄(列:字段)
---------------------------
张三男  20            ------->⾏(记录)
打开mysql服务命令李四⼥  21            ------->⾏(记录)
王五男  22            ------->⾏(记录)
数据库当中是以表格的形式表⽰数据的。
因为表⽐较直观。
任何⼀张表都有⾏和列:
⾏(row):被称为数据/记录。
列(column):被称为字段。
姓名字段、性别字段、年龄字段。
了解⼀下:
每⼀个字段都有:字段名、数据类型、约束等属性。
字段名可以理解,是⼀个普通的名字,见名知意就⾏。
数据类型:字符串,数字,⽇期等,后期讲。
约束:约束也有很多,其中⼀个叫做唯⼀性约束,
这种约束添加之后,该字段中的数据不能重复。
9、关于SQL语句的分类?
SQL语句有很多,最好进⾏分门别类,这样更容易记忆。
分为:
DQL:
数据查询语⾔(凡是带有select关键字的都是查询语句)
<
DML:
数据操作语⾔(凡是对表当中的数据进⾏增删改的都是DML)
insert delete update
insert 增
delete 删
update 改
这个主要是操作表中的数据data。
DDL:
数据定义语⾔
凡是带有create、drop、alter的都是DDL。
DDL主要操作的是表的结构。不是表中的数据。
create:新建,等同于增
drop:删除
alter:修改
这个增删改和DML不同,这个主要是对表结构进⾏操作。
TCL:
不是王牌电视。
是事务控制语⾔
包括:
事务提交:commit;
事务回滚:rollback;
DCL:
是数据控制语⾔。
例如:授权grant、撤销权限
10、导⼊⼀下提前准备好的数据:
bjpowernode.sql 这个⽂件中是我提前为⼤家练习准备的数据库表。怎么将sql⽂件中的数据导⼊呢?
mysql> source D:\course\03-MySQL\document\bjpowernode.sql
注意:路径中不要有中⽂!!!!
11、关于导⼊的这⼏张表?
mysql> show tables;
+-----------------------+
| Tables_in_bjpowernode |
+-----------------------+
| dept |
| emp |
| salgrade |
+-----------------------+
dept是部门表
emp是员⼯表
salgrade 是⼯资等级表
怎么查看表中的数据呢?
select * from 表名; //统⼀执⾏这个SQL语句。
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 |    NULL |    20 |
|  7934 | MILLER | CLERK    | 7782 | 1982-01-23 | 1300.00 |    NULL |    10 |
+-------+--------+-----------+------+------------+---------+---------+--------+
mysql> select * from dept;
+--------+------------+----------+
| DEPTNO | DNAME      | LOC      |
+--------+------------+----------+
|    10 | ACCOUNTING | NEW YORK |
|    20 | RESEARCH  | DALLAS  |
|    30 | SALES      | CHICAGO  |
|    40 | OPERATIONS | BOSTON  |
+--------+------------+----------+
mysql> select * from salgrade;
+-------+-------+-------+
| GRADE | LOSAL | HISAL |
+-------+-------+-------+
|    1 |  700 |  1200 |
|    2 |  1201 |  1400 |
|    3 |  1401 |  2000 |
|    4 |  2001 |  3000 |
|    5 |  3001 |  9999 |
+-------+-------+-------+
12、不看表中的数据,只看表的结构,有⼀个命令:
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 | |最⾼⼯资

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。