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

笔记-java】java工程师-入门必学2

程序员文章站 2022-05-17 08:53:37
20200710-:《imooc-与MySQL的零距离接触》第01章 初涉MySQL01-01 MySQL概述一、MySQL基础1、MySQL由瑞典MySQL AB公司开发,目前属于Oracle公司。2、MySQL是一个开源的关系型数据库管理系统。3、MySQL分为社区版和企业版。01-02 MySQL的安装与配置一、MySQL安装方式1、MSI安装(Windowss Installer)2、ZIP安装二、安装类型Typical: 典型安装Custom:自定义安装Complet....
路径 目录 子目录 重点 课程名 备注
java工程师 入门必学 网络与多线程 socket编程、多线程 Java Socket应用-通信是这样炼成的
深入浅出java多线程
数据操作 MySQL数据库操作、Oracle护具库操作、应用JDBC操作数据库 与MySQL的零距离接触
Oracle数据库开发必备利器之SQL基础
JDBC之对面的女孩看过来

20200710-:《imooc-与MySQL的零距离接触》

第01章 初涉MySQL

01-01 MySQL概述

一、MySQL基础
1、MySQL由瑞典MySQL AB公司开发,目前属于Oracle公司。
2、MySQL是一个开源的关系型数据库管理系统。
3、MySQL分为社区版和企业版。

01-02 MySQL的安装与配置

一、MySQL安装方式
1、MSI安装(Windowss Installer)
2、ZIP安装
二、安装类型
Typical: 典型安装
Custom:自定义安装
Complete:完全安装
三、MySQL目录结构
1、bin目录,存储可执行文件。
2、data目录,存储数据文件。
3、docs, 文档
4、include目录,存储包含的头文件
5、lib目录,存储库文件
6、share, 错误消息和字符集文件。
四、MySQL的配置选项
1、修改编码方式
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8

01-03 启动与停止MySQL服务

一、启动/关闭MySQL服务
1、计算机管理-服务和应用程序-服务-MySQL服务,右键,启动/重新启动。
2、启动MySQL服务
net start mysql
3、关闭MySQL服务
net stop mysql

01-04 MySQL登录与退出

一、使用MySQL
1、MySQL登录/退出
2、修改MySQL提示符
3、MySQL常用命令
4、MySQL语句规范
5、数据库操作
二、MySQL登录

参数 描述
-D, --database=name 打开指定数据库
–delimiter=name 指定分隔符
-h, --host=name 服务器名称
-p, --oassword[=name] 密码
-P,–port=# 端口号
–prompt=name 设置提示符
-u, --user=name 用户名
-v,–version 输出版本信息并且退出

三、
mysql -V
mysql -uroot -p -P3306 -h127.0.0.1
四、MySQL退出
exit
quit
\q

01-05 修改MySQL提示符

一、windows下清屏:cls
二、修改MySQL提示符
1、连接客户端时通过参数指定
mysql -uroot -proot --prompt 提示符
2、连接上客户端后,通过prompt命令修改。
prompt 提示符
三、MySQL提示符

参数 描述
\D 完整的日期
\d 当前数据库
\h 服务器名称
\u 当前用户
01-06 MySQL常用命令

一、常用命令
1、显示当前服务器版本
SELECT VERSION();
2、显示当前日期时间
SELECT NOW();
3、显示当前用户
SELECT USER();
二、Mysql语句的规范
1、关键字与函数名称全部大写
2、数据库名称、表名称、字段名称全部小写
3、SQL语句必须以分号结尾。

01-07 操作数据库

一、创建数据库
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name
二、 查看当前服务器下的数据表列表
SHOW {DATABASES | SCHEMAS} [LIKE 'pattern' | WHERE expr]
三、显示数据库创建时所使用的指令
SHOW CREATE DATABASE t1
四、修改数据库
ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT CHARACTER SET [=] charset_name
五、删除数据库
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

第02章 数据类型与操作数据表

02-02 MySQL数据类型之整型

一、数据类型是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。
二、整型

数据类型 存储范围 字节
TINYINT 1、有符号值:-128到127(-2的7次方 到 2的7次方-1) 2、无符号值:0到255(0到2的8次方-1) 1
SMALLINT 1、有符号值:-32768到32767(-2的15次方 到 2的15次方-1) 2、无符号值:0到65535(0到2的16次方-1) 2
MEDIUMINT 1、有符号值:-8388608到8388607(-2的23次方 到 2的23次方-1) 2、无符号值:0到16777215(0到2的24次方-1) 3
INT 1、有符号值:-2147483648到2147473647(-2的31次方 到 2的31次方-1) 2、无符号值:0到4294967295(0到2的32次方-1) 4
BIGINT 1、有符号值:-9223372036854775808到9223373036854775807(-2的63次方 到 2的63次方-1) 2、无符号值:0到255(0到2的64次方-1) 8

二、浮点型
笔记-java】java工程师-入门必学2
三、日期时间型

列类型 存储需求
YEAR 1
TIME 3
DATE 3
DATETIME 8
TIMESTAMP 4

四、字符型
笔记-java】java工程师-入门必学2

02-06 MySQL创建数据表

一、概述
数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础。
二、USE
1、打开数据库
2、SHOW DATABASES // 查看数据库是否存在
3、USE 数据库名称
4、SELECT DATABASE // 当前打开的数据库
三、创建数据表

CREATE TABLE [IF NOT EXISTS] table_name (
	column_name data_type,
	...
)

eg

CREATE TABLE tb1(
	username VARCHAR(20),
	age TINYINT UNSIGNED,
	salary FLOAT(8,2) UNSIGNED
)
02-07 MySQL查看数据表

一、查看数据表

SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr]

二、查看数据表结构

SHOW COLUMNS FROM tbl_name

三、INSERT
1、插入记录

INSERT [INFO] tbl_name [(col_name, ...)] VALUES(val, ...)

eg

INSERT tb1 VALUES('Tom', 25, 7863.25); // 正确
INSERT tb1 VALUES('Tom', 25) // 错误
INSERT tb1(username, salary) VALUES('John', 4500.49);

四、SELECT 记录查找

SELECT expr, ... FROM tbl_name

eg
SELECT * FROM tb1; // * 是字段的过滤
五、空值与非空
NULL,字段值可以为空
NOT NULL, 字段值禁止为空

CREATE TABLE tb2(
	username VARCHAR(20) NOT NULL,
	age TINYINT UNSIGNED NULL
);

SHOW COLUMNS FROM tb2
六、AUTO_INCREMENT
1、自动编号,且必须与主键组合使用。
2、默认情况下,起始值为1,每次的增量为1

CREATE TABLE tb3(
	id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
	username VARCHAR(30) NOT NULL
);

七、PRIMARY KEY
1、主键约束
2、每张数据表只能存在一个主键
3、主键保证记录的唯一性
4、主键自动为NOT NULL
5、AUTO_INCREMENT必须和PRIMARY KEY一起使用,但是PRIMARY KEY不一定要和AUTO_INCREMENT一起使用。
八、UNIQUE KEY
1、唯一约束
2、唯一约束可以保证记录的唯一性
3、唯一约束的字段可以为空值(NULL)
4、每张数据表可以存在多个唯一约束

CREATE TABLE tb5(
	id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
	username VARCHAR(20) NOT NULL UNIQUE KEY,
	age tinyint UNSIGNED
);

九、DEFAULT 默认值
1、当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。

CREATE TABLE tb6(
	id SMALLINT UNGIGNED AUTO_INCREMENT PRIMARY KEY,
	username VARCHAR(20) NOT NULL UNIQUE KEY,
	sex ENUM('1', '2', '3') DEFAULT '3'
);

十、知识点
1、数据类型:字符型、整型、浮点型、日期时间型
2、数据表操作:插入记录、查找记录。
3、记录操作
(1)创建数据表
(2)约束的使用
PRIMARY KEY 主键约束
UNIQUE KEY 唯一约束
DEFAULT 默认约束
NOT NULL 非空约束

第03章 约束以及修改数据表

03-02 MySQL外键约束的要求解析

一、约束
1、约束保证数据的完整性和一致性。
2、约束分为表级约束和列级约束。
3、约束类型包括:
NOT NULL(非空约束)
PRIMARY KEY(主键约束)
UNIQUE KEY(唯一约束)
DEFAULT(默认约束)
FOREIGN KEY(外键约束)
二、FOREIGN KEYp
1、保持数据一致性,完整性。
2、实现一对一或一对多关系。
二、外键约束的要求
1、父表和子表必须使用相同的存储引擎,而且禁止使用临时表。
(1)子表:具有外键列的表
(2)父表:子表所参照的表。
2、数据表的存储引擎只能为InnoDB.
3、外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同。
4、外键列和参照列必须创建索引。如果外键列不存在索引的话,MySQL将自动创建索引。
三、编辑数据表的默认存储引擎
1、MySQL配置文件
default-storage-engine=INNODB
修改后需要重新启动。
四、
// 父表

CREATE TABLE provinces(
	id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
	pname VARCHAR(20) NOT NULL,
);

// 子表

CREATE TABLE users(
	id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
	username VARCHAR(10) NOT NULL,
	pid SMALLINT UNSIGNED,
	FOREIGN KEY (pid) REFERENCES provinces (id)
);

五、显示索引
SHOW INDEXS FROM provinces;

03-03 MySQL外键约束的参照操作

一、外键约束的参照操作
1、CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行
2、SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL。如果使用该选项,必须保证子表列没有指定NOT NULL
3、RESTRICT:拒绝对父表的删除或更新操作。
4、NOT ACTION:标准SQL的关键字,在MySQL中与RESTRICT相同。
二、表级约束与列级约束
1、对一个数据列建立的约束,称为列级约束。
2、对多个数据列建立的约束,称为表级约束。
3、列级约束既可以再列定义时声明,也可以再列定义后声明。
4、表级约束只能在列定义后声明。
5、NOT NULL(非空约束)、DEFAULT(默认约束)不存在表级约束,只能为列级约束 。
PRIMARY KEY(主键约束)、UNIQUE KEY(唯一约束)、FOREIGN KEY(外键约束),既可以存在表级约束,也可以存在列级约束。
三、修改数据表
1、添加单列

ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name];

2、添加多列

ALTER TABLE tbl_name ADD [COLUMN] (col_name column_definition, ...);

3、删除列

ALTER TABLE tbl_name DROP [COLUMN] col_name;

4、删除多列

ALTER TABLE tabl_name DROP [COLUMN] col_name, DROP [COLUMN] col_name;

5、添加主键约束

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name, ...)

6、添加唯一约束

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name, ...)

7、添加外键约束

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name, ...) reference_definition

8、添加/删除默认约束

ALTER TABEL tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}

9、删除主键约束

ALTER TABLE tbl_name DROP PRIMARY KEY

10、删除唯一约束

ALTER TABLE tbl_name DROP {INDEX|KEY} index_name

11、删除外键约束

ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol

12、修改列定义

ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST | ALTER col_name]

(1)由大类型改成小类型,可能会造成数据丢失。
13、修改列名称

ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|ALTER col_name]

14、数据表更名
(1)方法1

ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name

(2)方法2

RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2] ...

四、本节知识点
1、约束
(1)按功能划为:NOT NULL(非空约束), PRIMARY KEY(主键约束), UNIQUE KEY(唯一约束), DEFAULT(默认约束), FOREIGN KEY(外键约束)
(2)按数据列的数目划为:表级约束,列级约束
2、修改数据表
(1)针对字段的操作:添加/删除字段,修改列定义,修改列名称等
(2)针对约束的操作:添加/删除各种约束
(3)针对数据表的操作:数据表更名(两种方式)

第04章 操作数据表中的记录

04-02 MySQL插入记录INSERT

一、插入记录 INSERT
(1)方法1

INSERT [INTO] tbl_name [col_name, ...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),...

(2)方法2

INSERT [INTO] tbl_name SET col_name={expr | DEFAULT}, ...

与方法1 的区别在于,此方法可以使用子查询(SubQuery)
(3)方法3

INSERT [INTO] tbl_name [(col_name,...)] SELECT ...

此方法可以将查询结果插入到指定数据表。

二、更新记录(单表更新) UPDATE

UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ... [WHRE where_condition]

三、删除记录(单表删除) DELETE

DELETE FROM tbl_name [WHERE where_condition]

四、查找记录 SELECT

SELECT select_expr [,select_expr ...]
[
	FROM table_references
	[WHERE where_condition]
	[WGROUP BY {col_name | position} [ASC | DESC], ...]
	[HAVING where_condition]
	[ORDER BY {col_name | expr | position} [ASC | DESC], ...]
	[LIMIT {[offset,] row_count | row count OFFSET offeset}]
]

五、查询表达式 select_expr
1、每一个表达式表示想要的一列,必须有至少一个。
2、多个列之间以英文逗号隔开。
3、星号(*)表示所有列。tbl_name.*可以表示命名表的所有列。
4、查询表达式可以使用[AS] alias_name为其赋予别名。
5、别名可用于GROUP BY, ORDER BY 或HAVING子句。
(1)select 字段出现的顺序,将影响结果集出现的顺序。
(2)字段的别名,将影响结果集中字段别名。
六、条件表达式 WHRE
1、对记录进行过滤,如果没有指定WHERE子句,则显示所有记录。
2、在WHERE表达式中,可以使用MySQL支持的函数或运算符。
七、查询结果分组 GROUP BY

[GROUP BY {col_name | position} [ASC | DESC], ...]

八、分组条件 HAVING

[HAVING where_condition]

九、对查询结果进行排序 ORDER BY

[ORDER BY {col_name | expr | position} [ASC | DESC], ...]

(1)ASC:升序
DESC:降序
(2)eg
SELECT * FROM users ORDER BY age, id DESC;
十、限制查询结果返回的数量 LIMIT

[LIMIT {[offset,] row_count | row_count OFFSET offset}]

(1) eg
SELECT * FROM users LIMIT 2;
SELECT * FROM users limit 2,2; // id号与结果集中的排列顺序没有任何关系

04-12 小结

一、本节知识点
1、记录操作
(1)写操作
INSERT
UPDATE
DELETE
(2)读取操作
SELECT

第05章 子查询与连接

05-01 数据准备

本文地址:https://blog.csdn.net/aSuncat/article/details/107309812