本章开始进入SQL学习阶段,涉及的知识点如下:

  1. 数据库和SQL的基本概念
  2. 数据库安装问题
  3. 表的创建、删除和更新
  4. 相关报错问题
  5. SQL语句的种类及基本书写规则

  1. 数据库和SQL的基本概念
  • 什么是数据库?

数据库(DB):用于存放数据

关系数据库(RDB):多张表+各表之间的关系

  • 数据库相比Excel的优势是什么?

- 可与多人共享数据

- 可提供操作大量数据所需的格式

- 无需高超的编程技术就可以使用

- 可应对突发事故

  • 关系数据库中的表的结构是什么样的?

与Excel中的表一样,关系数据库也是由行和列组成的二维表来管理数据的,每张表有个表名,表里包含有列名的列(字段)和记录数据的行(记录)。

主键:表中用来标识数据唯一性的列,例如学生的学号

  • 关系数据库中各表是如何建立起关系的?

通过对应的列将关系数据库中的表建立起 了关系,这个关系就是联结

  • 数据库管理系统是什么?

数据库管理系统(DBMS):用来管理数据库的计算机系统或软件

关系数据库管理系统(RDBMS):用来管理关系数据库的计算机系统或软件

常用的关系数据库管理系统: MySQL,Oracle,SQL Server

  • SQL(Structured Query Language):

结构化查询语言,是操作数据库的工具

通常我们从客户端(委托方)向服务器端(受托方-RDBMS)发送SQL语句来实现数据库的读写操作。Navicat客户端是为了方便操作数据库而设计的一种图形化软件。

2. 数据库的安装问题

  • 如何验证MySQL数据库安装成功?

第一步:打开菜单栏搜索MySQL 出现 MySQL8.0 Command Line Client Unicode时点击打开

第二步:Enter password:输入安装Mysql时设置的密码

第三步:查看是否出现下图中红框中的Server version(版本号视安装的版本而异)

  • 如何用客户端Navicat连接到mysql数据库?

第一步:连接-MySQL

第二步:填写用户名(随便填)和密码(安装Mysql时设置的密码)

第三步:点击左下角的连接测试-连接成功-确定-确定

3. 表的创建、更新和删除

3.1 表的创建

(1)创建学校数据库:

第一步:打开客户端-双击连接名称连接Mysql数据库-右击-点击新建数据库

第二步:设置数据库信息:数据库名:school;字符集和排序规则按下图所示进行设置(可以同时支持中文和英文)-确定

最后可以在我的连接名Caroline下看到我新创建的school的数据库,双击school就可以打开数据库(图标为绿色)

(2)创建表:

目标: 在school数据库中创建四张新表(student表, course表, score表, teacher表)

第一步:点击打开school数据库-新建表

第二步:填入字段(列)信息, 点击<添加字段>(红框)可添加新的列

我们给这张表添加四个字段:学号、姓名、出生日期、性别,如下图所示

第三步:点击保存(红框)-设置表名为student-确定

在设置字段信息时,字段长度为默认值,但是要求我们填入字段名,类型,是否是null以及是否为主键,下面我们就来介绍一下常见的字段类型和约束条件(是否为null,主键)。

(1)常见字段类型:包含字符串、数字、日期三种类型

  • 常见字符串类型

Char:以定长字符串存放的

Varchar:以可变长度的字符串(比char更节省存储空间,较为常用)

Text:文本数据

Blob:二进制形式的文本数据(如多媒体文件)

  • 常见数字类型

包含整型(如integer),浮点型(如float),decimal(常用于财务和货币计算,精度高)

注意:学号0001为字符串类型,正常的数值是不能以0开头的

  • 常见日期类型

Date:日期值 YYYY-MM-DD

Datetime:日期和时间的组合

Timestamp: 时间戳,将日期和时间转化成数值的形式存放

Time:时间值

Year:年份值

(2)约束条件

Null:表示对应列中的数值可以包含空值

Not null:表示对应列中的数值不可以包含空值

Primary key主键:表中用来标识数据唯一性的列。下图点击不是null列后的空白处可设置主键,出现钥匙 则说明设置成功

联合主键:课程course表中学号和课程号一起构成联合主键,因为一个学生可以上多门课,而一门课可以有多个学生选择,所以要定义数据唯一列只能将两者都作为主键结合起来构成一个联合主键,如下图所示

最后,我们一共创建4张表字段信息如下:

student表

score表

course表

teacher表

3.2 表的更新

第一步:点击要修改的表-右击-设计表

第二步:<添加字段>和<删除字段>可以添加列和删除列。

3.3 表的删除

点击要删除的表-右击-删除表(不要轻易删除表,很难恢复)

3.4 数据的插入

方法一:双击student表直接可以在表中添加数据

方法二:用sql语句插入数据

第一步:点击查询-右击-新建查询

Sql插入语句:

Insert into student (学号,姓名,出生日期,性别)

values(’0001’,’Caroline’,’1995-11-1’,’女’);

注意:列名不能加单引号

4. 相关报错问题

(1)

报错的原因:字段名之间的符号(上图黄色部分)没有用英文符号

(2)

报错的原因:在Mysql中每条语句后面要加上分号,表示一个命令结束

(3)

报错的原因:之前操作中已经运行了添加学号0001的学生信息,这里出现重复添加

改正:点击student表,删除重复记录

最后正确的sql语句以及结果:

5. SQL语句的种类和基本书写规则

5.1 SQL语句的种类

DDL: 用来创建或者删除存储数据用的数据库以及数据库中的表等对象
DML: 用来查询或者变更表中的记录
DCL: 用来确认或者取消对数据库中的数据进行的变更,还可对RDBMS的用户是否有权限操作数据库中的对象(数据库表等j)进行设定。

5.2 SQL语句的基本书写规则

MySQL语句要以分号(;)结尾
SQL语句不区分关键字的大小写
输入符号的时候只能使用英文符号
列名不能加单引号,列名命名时不能有空格

更多推荐

sql server 如何设置字符串长度_SQL基础入门篇