1. 数据库

一、 SQL基本介绍

SQL (Structured Query Language):结构化查询语言,是一种针对关系型数据库特殊标准化的编程语言

注意:

1、SQL虽然是编程语言,但是目前数据库通常只用来进行数据管理(逻辑部分给其他编程语言)

2、SQL虽然是针对关系型数据库的通用语言,但是不同的产品操作指令不完全通用

3、数据库连接资源有限,用完即关闭

二、SQL基础

目标:学习基本的SQL操作,实现数据库的基本管理

1、SQL基本语法

目标:了解SQL的基本语法规则

SQL语法规则

1、结构创建

2、显示结构

3、数据操作(数据表)

小结

1、SQL是一种类似于自然语言的编程语言

2、根据数据库的对象层级,可以将基础SQL操作分为三类

2、SQL库操作

目标:掌握数据库相关SQL指令

1) 创建数据库

创建数据库:根据项目需求创建一个存储数据的仓库

1、创建一个指定名字的数据库

create database db_1;
		

2、创建一个指定字符集的数据库

create database db_2 charset utf8MB4;
		

3、创建一个指定校对集的数据库

create database db_3 charset utf8MB4 collate utf8mb4_general_ci;
		

小结

1、数据库的创建是存储数据的基础,数据库的创建通常是一次性的

2、创建数据库的语法包含几个部分

3、创建好的数据库可以在数据存储指定地点(安装时指定)看到

2) 显示数据库

显示数据库:通过客户端指令来查看已有数据库

1、显示所有数据库

show databases;
		

2、显示数据库创建指令

show create database db_1;
		

小结

1、查看数据库分为两种方式

2、查看数据库的目的和应用

3) 使用数据库

使用数据库:指在进行具体SQL指令之前,让系统知道操作针对的是哪个数据库

1、使用某个数据库

use db_1;
		

小结

1、使用数据库的指令是:use 数据库名字;

2、使用数据库的目标

4) 修改数据库

修改数据库:修改数据库的相关库选项

1、修改数据库字符集

alter database db_2 charset gbk;
		

2、修改数据库校对集(如果字符集修改必须同时改变字符集)

alter database db_3 charset gbk collate gbk_chinese_ci;
		

小结

1、数据库的修改只能修改库选项,不能修改名字

2、字符集的修改指令使用alter,其他跟创建指令一致

3、数据库修改通常有两部分

4、一般都不会使用数据库修改(一般要改也是删除后新增)

5) 删除数据库

删除数据库:将当前已有数据库删除

1、删除某个数据库

drop database db_1;
		

小结

1、删除数据库使用指令:drop database 数据库名字

2、数据库的删除不可逆

6) 总结

1、数据库的操作通常是一次性的,即在进行业务代码开展之前将数据库维护好

2、数据库的删除需要非常慎重,尤其是生产环境,数据库的删除是不可逆(会将数据库中的所有数据全部删除)

3、SQL表(字段)操作

目标:掌握数据库和字段的相关操作指令,熟练运用这些指令完成数据表的增删改查

1) 创建数据表

目标:了解数据表创建的语法,掌握创建规则

创建数据表:根据业务需求,确定数据表的字段信息,然后创建表结构

1、创建简单数据表(指定数据库创建数据表)

create table db_2.t_1(
			name varchar(50)
		);
		

2、创建数据表——多字段

# 使用数据库(进入数据库环境)
		use db_2;
		create table t_2(
			name varchar(50),
			age int,
			gender varchar(10)
		);
		

3、创建数据表——表选项

create table t_3(
			name varchar(50)
		)engine Innodb charset utf8MB4;
		

小结

1、创建数据库表是为了存储具体数据

2、数据表的创建与字段是同时存在的

3、数据表的创建需要指定数据库

4、一张数据表用来存一组相关数据

5、扩展:存储引擎是指数据存储和管理的方式,MySQL中提供了多种存储引擎,一般使用默认存储引擎

6、扩展:如果想创建一个与已有表一样的数据表,MySQL提供了一种便捷的复制模式

2) 显示数据表

目标:了解如何查看数据表结构

显示数据表:客户端通过指令显示已有的数据表

1、显示所有数据表——当前数据库下

show tables;
		

2、显示所有数据表——指定数据库

show tables from db_3;
		

3、显示部分关联数据表——匹配

show tables like '%like';	# _表示匹配一个字符(固定位置),%表示匹配N个字符
		

4、显示数据表的创建指令

show create table t_1; # 看到的结果未必一定是真实创建的指令(系统会加工)
		

小结

1、显示数据表有两种形式

2、显示数据表通常是为了验证数据表是否存在或者验证数据表的创建指令是否正确

3、在显示数据的时候可以使用不同的语句结束符

3) 查看数据表

目标:了解查看数据表的概念和掌握数据表查看的语法

查看数据表:指查看数据表中的具体结构

desc t_1;
		

小结

1、数据表的查看是为了查看表中具体字段的信息

2、查看数据表的指令有多个,效果都一样

3、查看表结构的原因通常是在开发过程中为了更清晰的了解数据的存储形式和要求

4) 更改数据表

目标:了解数据表的修改内容以及修改语法

更改数据表:修改表名字和表选项

1、修改表名

rename table t_1 to t1;
		

注意:如果有时候想要跨库修改的话,需要使用数据库名.表名

2、修改表选项

alter table t1 charset utf8;
		

小结

1、更改数据表分为两个部分

2、通常我们较少使用更改数据表,数据表应该在创建时就定义好

5) 更改字段

目标:了解字段更改的类型和基本语法的使用

更改字段:指针对表创建好后,里面字段的增删改

① 新增字段

新增字段:在表创建好后往里面增加其他字段

1、给已经存在的t_3表增加一个字段age

alter table t_3 add age int;
		

2、给已经存在的t_3表增加一个字段nickname

alter table t_3 add column nickname varchar(10);
		

小结

1、新增字段就是给已有表追加一个字段(较少)

2、字段新增必须指定字段类型

3、字段新增语法为:alter table 表名 add [column] 字段名 字段类型;

4、字段的追加默认是在所有字段之后

② 字段位置

字段位置:指字段放到某个指定字段之后

1、为t_3表增加一个id字段,放到最前面

alter table t_3 add id int first;
		

2、在t_3表name字段后增加一个身份证字段card

alter table t_3 add card varchar(18) after name;
		

小结

1、字段位置是配合字段操作的(新增、修改)

2、字段位置分两种

③ 更改字段名

更改字段名:指对已经存在的字段名进行修改

1、修改字段名card为sfz

alter table t_3 change card sfz varchar(18);
		

小结

1、字段名更改通常只是修改字段名字,但是也必须跟随类型

2、字段名修改语法:alter table 表名 change 原字段名 新字段名 字段类型

3、字段名修改change其实也可以修改字段类型、属性和位置,但是通常不使用(专人专事)

④ 修改字段

修改字段:指修改字段的相关信息

1、修改身份证的类型为char(18)并且位置放到id后面

alter table t_3 modify sfz char(18) after id;
		

小结

1、修改字段包含多个操作

6)删除字段

目标:了解字段删除语法

删除字段:即将某个不要的字段从表中剔除

1、删除年龄字段

alter table t_3 drop age;
		

小结

1、字段删除在删除字段名的同时会删除字段对应的数据,而且不可逆

2、字段删除语法:alter table 表名 drop 字段名

7)总结

1、数据表结构的操作是数据操作的基础

2、一般情况下新手都不会接触数据表的设计,但是作为一名新手一定要在使用数据表之前查看数据表的结构信息

3、不要轻易的修改或者删除数据表结构(数据会一并被处理掉

4、数据表结构的维护通常是一次性的,在业务开展前尽可能好的设计好数据表,而不要后期再进行其他维护

4、SQL数据操作

目标:掌握mysql中数据的增删改查的基本操作

1)新增数据

目标:了解数据的新增指令和逻辑,实现数据的入库操作

新增数据:将数据插入到数据表永久存储

1、给t_3表插入一条完整数据

insert into t_3 values(1,'440111200011111101','Jim','Green');
		

2、根据字段插入数据

insert into t_3 (id,sfz,name) values(2,'441000200011111211','Tom');
		

小结

1、数据插入是利用insert指令将数据永久存储到数据表中

2、数据存储以为单位,字段为最小实际存储单位

3、数据插入分为两种方式插入数据

2、查看数据

目标:了解数据查看的指令,掌握数据查看实际操作

查看数据:将表中已经存在的数据按照指定的要求显示出来

1、查看t_3表中所有数据

select * from t_3;
		

2、查看t_3表中的name和身份证信息

select name,sfz from t_3;
		

3、查看t_3表中id值为1的信息

select * from t_3 where id = 1;
		

小结

1、数据查看是数据库中最常用的操作(99%)

2、数据查看分两种情况

3、实际使用时通常会带where条件进行数据筛选

3) 更新数据

目标:了解更新数据的语法,掌握数据更新操作

更新数据:即更新某个已有字段的值

1、更新所有记录的身份证信息

update t_3 set sfz = '440100200010100001';
		

2、更新某个记录的多个字段数据

update t_3 set name = 'Lily',sfz = '440100200010100002' where id = 1;
		

小结

1、更新数据的针对记录的字段数据进行更新

2、更新通常是限定条件更新(一般不会更新全部)

4、删除数据

目标:了解删除语法,掌握删除操作实现

删除数据:将数据从已有数据表中清除(针对的是记录record)

1、删除t_3表中id为2的数据

delete from t_3 where id = 2;
		

小结

1、数据删除是不可逆的操作

2、数据删除通常都匹配条件部分删除

5)总结

1、数据操作不论是初级开发者还是高级开发者都频繁接触的操作

2、数据操作中读操作,往往占据了整个操作的99%以上