【数据库笔记】MySQL必知必会:chapter 1-3 了解SQL/ MySQL简介/使用MySQL

chapter 1 了解SQL

1.1 数据库基础

1.1.1 什么是数据库

数据库:可以看成文件柜,是一个存放数据的物理位置,不管数据是什么以及如何组织的。

人们常用“数据库”来代表所使用的的数据库软件
确切地说,数据库软件应成为DBMS(数据库管理系统)

数据库是通过DBMS创建和操纵的容器。
总之,数据库究竟是文件或者其他东西,都不重要,因为我们并不会直接访问数据库,我们用的是DBMS。

1.1.2 表

我们在文件柜中创建文件,再将相关资料放入,而不是随便扔进文件柜。

此处的文件(结构化的文件),称作表。

表(table):某种特定类型数据的结构化清单。

关键点在于,存在表中的数据是一种类型的数据 或 一个清单。
绝对不应该将顾客的清单和订单的清单存储在同一个数据库表中,这会是以后的访问困难。应该每个清单一个表。

不同数据库中,可以有相同的表名。
同一数据库中,不可以有相同的表名。

模式(schema):关于数据库和表的布局及特性的信息。

有时,模式用作数据库的同义词。本文中如上定义。

1.1.3 列和数据类型

列(column):表的一个字段。

数据类型(datatype):所容许的数据的类型。每个列有相应的数据类型,限制该列存储的数据。

1.1.4 行

行(row):表中的一个记录。

行和记录(record)很大程度上可以互相替代,但从技术上说,行才是正确的术语。

1.1.5 主键

主键(primary key):一列(或一组列),其值可以唯一区分表中的每个行。

应该总是定义主键 ,没有主键的话,更新或删除表中的特定行很困难,因为没有安全的方法保证只涉及相关的行。
虽然并不总是需要主键,但大多数数据库设计人员都应保证创建的每个表都有一个主键,以便于以后的数据操纵和管理。
同时,几个公认的好习惯
(1)不更新主键列值;
(2)不重用主键列值;
(3)不在主键列中使用可能会更改的值。

任何列均可作为主键,主要满足以下条件(MySQL本身强制实施的):

  • 任意两行都不具有相同的值
  • 每个行都必须有一个主键值(不允许NULL)
  • 多个列作为主键时,所有列值的组合必须唯一(单个列的值可以不唯一)

1.2 什么是SQL

SQL(Stuctured Query Language),结构化查询语言,是一种专门用来与数据库通信的语言。

优点

  1. 几乎所有重要的DBMS都支持SQL;
  2. 简单易学。由描述性很强的英文单词组成;
  3. 功能强大。可以进行非常复杂和高级的数据库操作。

chapter 2 MySQL简介

2.1 什么是MySQL

MySQL:是一种DBMS,即它是一种数据库软件。

优点

  1. 成本:开放源代码,一般可以免费使用(甚至可以免费修改)
  2. 性能:执行很快
  3. 可信赖:很多公司和站点使用其处理重要数据
  4. 简单:容易安装和使用

缺点:并不总是支持其他DBMS提供的功能和特性。然而新版本正在不断增加新特性、新功能。

2.1.1 客户机-服务器软件

DBMS可分为两类:

  • 基于共享文件系统的DBMS:Microsoft Access & FileMaker,用于桌面用途,通常不用于高端或更关键的应用。
  • 基于客户机-服务器的DBMS:MySQL,Oracle,Microsoft SQL Server等数据库,客户机-服务器的应用分为两部分,服务器部分是负责所有数据访问和处理的一个软件。与数据打交道的只有服务器软件,如数据添加、删除、更新都由它完成。客户机是与用户打交道的软件,如你给一个需求,客户机软件通过网络提交给服务器软件,服务器软件再处理这个请求,根据需要过滤、丢弃和排序数据,然后把结果送回到你的客户机软件。

客户机和服务器软件可能装在2台计算机或一台计算机上。不管它们在不在相同的计算机上,为进行所有数据库的交互,客户机软件都要与服务器软件进行通信。

所有这些活动对用户都是透明的。数据存在其他地方,或者数据库服务器为你处理这一事实是隐藏的。你不需要直接访问数据文件。事实上,多数网络的建立,使用户不具有对数据的访问权,甚至不具有对存储数据的驱动器的访问权

意义:为了使用MySQL,你需要访问运行MySQL服务器软件的计算机 和 发布命令到MySQL的客户机软件的计算机。

  • 服务器软件为MySQL DBMS。你可以在本地安装的副本上运行,也可以连接到你具有访问权的远程服务器。
  • 客户机可以是MySQL提供的工具、脚本语言(如Perl)、Web应用开发语言(如ASP、ColdFusion、JSP和PHP)、程序设计语言(如C、C++、Java)等。

2.2 MySQL工具

客户机的选择:
(1)MySQL命令行实用工具
在这里插入图片描述
在这里插入图片描述

(2)MySQL Adiministrator
(3)MySQL Query Browser 图形交互客户机
(4)Navicat Premium 12

chapter 3 使用MySQL

3.1 连接

3.2 选择数据库

--use database_name;
use test;

在这里插入图片描述

3.3 了解数据库和表

show databases;返回可用数据库的列表。包含内部使用的数据库(mysql & information_schema)

show databases;

在这里插入图片描述
show tables;返回一个数据库内的表的列表。

show tables;

在这里插入图片描述
show columns from table_name;返回表列。
describe table_name;返回表列(快捷方式)。

show columns from user1;
describe user1;

在这里插入图片描述

show status;--用于显示广泛的服务器状态信息
show create database;--显示创建特定数据库的MySQL语句
show create table;--显示创建特定表的MySQL语句
show grants;--显示授予用户的安全权限
show errors;--显示服务器错误消息
show warnings;--显示警告消息

自动增量
某些表列需要唯一值,如用户ID。在每个行添加到表中时,MySQL可以自动为每个行分配下一个可用编号。这个功能就是自动增量。如果需要这个功能,必须在用create创建表时,把它作为表定义的组成部分(chapter
21)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值