欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL6天学习笔记 —— day01

程序员文章站 2022-05-03 18:37:00
...


整体大纲

MySQL6天学习笔记 —— day01

1. 为什么要学习数据库

数据库的好处

  1. 能够持久化到本地
  2. 可以实现结构化查询,方便管理

2. 数据库的相关概念

  1. DB:数据库,存储数据的容器(文件)
  2. DBMS:数据库管理系统,又称为数据库软件(产品),用于创建或管理DB中的数据
  3. SQL:结构化查询语言,用于和DBMS通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言

3. 数据库存储数据的特点

  1. 将数据放到表中,表再放到库中
  2. 一个数据库中可以有多张表,每张表都有一个名字,用来标识自己。表名具有唯一性
  3. 表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类” 的设计
  4. 表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似 java 中的 “属性”
  5. 表中的数据是按行存储的,每一行类似于java中的 “对象”

常见的数据库管理系统

MySQL、Oracle、SQL Server、db2

MySQL的背景

前身属于瑞典的一加公司,MySQL AB

08年被sun公司收购

09年sun公司被Oracle公司收购,所以它现在是属于Oracle公司的

MySQL的优点

1、开源、免费、成本低

2、性能高、移植性也好

3、体积小,便于安装

4. 初始MySQL

4.1 MySQL服务的登录和退出

-- 方式一:
-- 打开终端,输入 mysql -h 主机名 -P 端口号 -u用户名 -p密码
xiexu@Macintosh ~ % mysql -h localhost -P 3306 -uroot -p283619
...
mysql>

-- 方式二: (如果是本机电脑一般用这种)
-- mysql -u用户名 -p密码
xiexu@Macintosh ~ % mysql -uroot -p283619
...
mysql>

-- 退出:
exit或ctrl+C

4.2 MySQL的常见命令

-- 1.查看当前所有的数据库 
show databases;
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

-- 2.打开指定的库
use 库名;
mysql> use test;
Database changed

-- 3.查看当前库的所有表
show tables;
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| books          |
+----------------+
1 row in set (0.00 sec)

-- 4.查看其它库的所有表
show tables from 库名;
mysql> show tables from mysql;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| component                 |
| db                        |
|...                        |
+---------------------------+
33 rows in set (0.00 sec)

-- 5.查看当前所在的库
select database();
mysql> select database();
+------------+
| database() |
+------------+
| test       |
+------------+
1 row in set (0.00 sec)

-- 6.创建表
create table 表名(
	列名 列类型,
	列名 列类型,
	...
);
mysql> create table stuinfo(
    -> id int,
    -> name varchar(20));
Query OK, 0 rows affected (0.00 sec)

-- 7.查看表的结构
desc 表名;
mysql> desc stuinfo;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int         | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)

-- 8.查看服务器的版本
-- 方式一:已经登录到mysql服务端
select version();
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.19    |
+-----------+
1 row in set (0.00 sec)
-- 方式二:没有登录到mysql服务端
mysql --version
xiexu@Macintosh ~ % mysql --version
/usr/local/mysql/bin/mysql  Ver 8.0.19 for macos10.15 on x86_64 (MySQL Community Server - GPL)
--或者输入:
mysql -V
xiexu@Macintosh ~ % mysql -V
/usr/local/mysql/bin/mysql  Ver 8.0.19 for macos10.15 on x86_64 (MySQL Community Server - GPL)

4.3 MySQL的语法规范

1.不区分大小写,但建议关键字大写,表名、列名小写
2.每条命令最好用分号结尾
3.每条命令根据需要,可以进行缩进 或换行
4.注释(注意空格)
      单行注释:#注释文字
      单行注释:-- 注释文字
      多行注释:/* 注释文字  */

4.4 SQL的语言分类

DQL(Data Query Language):数据查询语言
select
DML(Data Manipulate Language):数据操作语言
insertupdatedelete
DDL(Data Define Languge):数据定义语言
createdropalter
TCL(Transaction Control Language):事务控制语言
commitrollback

4.5 导入数据库表

为了让我们可以更加方面的操作和练习后面的内容,在这里提供了一个数据库文件,里面包含四张表

具体的操作步骤

MySQL6天学习笔记 —— day01

MySQL6天学习笔记 —— day01

表结构名称介绍

MySQL6天学习笔记 —— day01

MySQL6天学习笔记 —— day01

MySQL6天学习笔记 —— day01

MySQL6天学习笔记 —— day01