栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Java开发全栈

Java开发全栈

java开发 一、前端:Html、Css、JS 1、JS类库框架
1. JQuery.JS  
2. Angular.JS(模型,  scope作用域,controller,依赖注入,MVVM)
2、 前端MVC
1. Vue.JS(MVVM) 
2. React.JS (创建自定义标签,根据id注入标签) 
3. Node.JS(服务器端)
3、UI框架(Html/Css/JS组合)
1. Bootstrap(html/CSS/JS)(简洁、直观、强悍的前端框架,让web开发更迅速、简单)
二、后端:Java、Tomcat(Web+Servlet+JSP) 1、后端语言:Java 2、后端框架:Spring、MVC、Boot、Cloud 三、数据库 1、数据库语言:Sql

– sql结构化查询语句(适用MySql):

-- 连接数据库:
	mysql -u root -p

-- 展示所有数据库:
	SHOW DATAbaseS;

-- 创建数据库:
	CREATE DATAbase shujuku

-- 选择数据库:
	USE shujuku;

-- 展示所有数据表:
	SHOW TABLES;

-- 创建数据表:
	CREATE TABLE `biao` (
		 `id` int(4) NOT NULL AUTO_INCREMENT,
		 `name` varchar(25) NOT NULL,
			PRIMARY KEY (`id`)
			)
			
	CREATE TABLE IF NOT EXISTS `biao00`(
		 `id` INT UNSIGNED AUTO_INCREMENT,
		 `name` VARCHAR(100) NOT NULL,
		 `sex` VARCHAR(40) NOT NULL,
		 `age` DATE,
		 PRIMARY KEY ( `id` )
	)ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 	约束:
-- 		非空约束(NOT NULL):
				CREATE TABLE biao0 (
				id int NOT NULL,
				name	varchar(255) NOT NULL,
				FName varchar(255) NOT NULL,
				Age int
				);

-- 		唯一性约束(UNIQUE):
				CREATE TABLE biao1(
				Id int NOT NULL,
				LastName varchar(255) NOT NULL,
				FirstName varchar(255),
				Address varchar(255),
				City varchar(255),
				UNIQUE (Id)
				)
				
-- 		主键约束(Primary  Key):
				CREATE TABLE biao2(
				P_Id int NOT NULL,
				LastName varchar(255) NOT NULL,
				FirstName varchar(255),
				Address varchar(255),
				City varchar(255),
				PRIMARY KEY (P_Id)
				)

-- 		主键约束取别名(2个列名组成CONSTRAINT)(ConSTRAINT zhujianmingming PRIMARY KEY (id,name)):
				CREATE TABLE biao3(
				P_Id int NOT NULL,
				LastName varchar(255) NOT NULL,
				FirstName varchar(255),
				Address varchar(255),
				City varchar(255),
				CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
				)
		
				CREATE TABLE biao4(
				O_Id int NOT NULL,
				OrderNo int NOT NULL,
				P_Id int,
				PRIMARY KEY (O_Id),
				FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
				)
				
-- 		唯一约束的键取别名(2个列名组成 CONSTRAINT):
				CREATE TABLE biao5(
				O_Id int NOT NULL,
				OrderNo int NOT NULL,
				P_Id int,
				PRIMARY KEY (O_Id),
				CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
				REFERENCES Persons(P_Id)
				)

-- 		限制列中值的范围约束(单列CHECK):
				CREATE TABLE biao6(
				P_Id int NOT NULL,
				LastName varchar(255) NOT NULL,
				FirstName varchar(255),
				Address varchar(255),
				City varchar(255),
				CHECK (P_Id>0)
				)
				
-- 		多列范围别名约束(CONSTRAINT):
				CREATE TABLE biao7
				(
				P_Id int NOT NULL,
				LastName varchar(255) NOT NULL,
				FirstName varchar(255),
				Address varchar(255),
				City varchar(255),
				CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
				)

-- 		默认值约束(DEFAULT) :
				CREATE TABLE biao8(
						P_Id int NOT NULL,
						LastName varchar(255) NOT NULL,
						FirstName varchar(255),
						Address varchar(255),
						City varchar(255) DEFAULT 'Sandnes'
				)
				
-- 		插入函数默认值(函数):
				CREATE TABLE biao9
				(
						O_Id int NOT NULL,
						OrderNo int NOT NULL,
						P_Id int,
						OrderDate date DEFAULT GETDATE()
				)
自动创建主键字段值(AUTO INCREMENT 开始值为 1):
CREATE TABLE biao10(
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
)

创建索引(CREATE INDEX):CREATE INDEX suoyinming ON biao (id);
		CREATE INDEX suoyinming ON biao (id,name,sex);

唯一单独索引/不能重复(CREATE UNIQUE INDEX):CREATE UNIQUE INDEX suoyinming ON biao (id);

修改(ALTER):

撤销所有约束(存在问题自己调试):
	ALTER TABLE biao DROp INDEX id;
	ALTER TABLE biao DROP PRIMARY KEY;
	ALTER TABLE biao DROP CONSTRAINT bieming;
	ALTER TABLE biao DROP FOREIGN KEY bieming;
	ALTER TABLE biao DROP CHECK bieming;
	ALTER TABLE biao ALTER id DROP DEFAULT;
	ALTER TABLE biao DROP INDEX suoyinming;
	ALTER TABLE biao DROP COLUMN lie;
	
修改表(存在问题自己调试):
	ALTER TABLE biao MODIFY  sex  int NOT NULL;
	ALTER TABLE biao MODIFY  sex  int NULL;
	ALTER TABLE biao ADD UNIQUE (id);
	ALTER TABLE biao ADD PRIMARY KEY (id);
	ALTER TABLE biao ADD CONSTRAINT bieming PRIMARY KEY (id,name);
	ALTER TABLE biao ADD FOREIGN KEY (id) REFERENCES biao(id);
	外键(FOREIGN KEY):ALTER TABLE biao ADD CONSTRAINT bieming FOREIGN KEY (id) REFERENCES biao(id);
	检查列数据范围内约束(检查表中字段值有效性CHECK):ALTER TABLE biao ADD CHECK (id>0);
	ALTER TABLE biao ADD CONSTRAINT bieming CHECK (id>0 AND name='任明');
	修改列默认值:ALTER TABLE biao ALTER id SET DEFAULT 1314;
	添加列(包含类型):ALTER TABLE biao ADD lie varchar(255);
	修改列(包含类型):ALTER TABLE biao MODIFY COLUMN sex int(255);
	修改主键自增起始值:ALTER TABLE biao AUTO_INCREMENT=100;

选取查询:SELECT    DISTINCT	 id ,name        FROM 	biao         WHERe  	 id 	LIKE 3       AND	 id <4      OR 	id=4    AND(id<5 OR id=2);

	排序:
  		升序: SELECt 	DISTINCT		 id,name        FROM	 biao    	 ORDER BY	 id;	
  		降序:SELECt	DISTINCT		 id,name       FROM 	biao     	 ORDER BY	 id       		Desc;
  		多列排序:SELECt 	DISTINCT		 id,name 	FROM	 biao 	ORDER BY		 id,name 		Desc;

	限制返回记录数目(条件限制):SELECt   *  FROM 	biao		WHERe 	name <=5;
			SELECt	*  FROM 	biao	LIMIT	 5;

	模糊选取查询(like):SELECt * FROM biao WHERe id LIKE '1%';
			SELECt * FROM biao WHERe id LIKE '%1';
			SELECt * FROM biao WHERe id LIKE '%1%';
			SELECt * FROM biao WHERe name LIKE '老%';
			SELECt * FROM biao WHERe name LIKE '%婆';
			SELECt * FROM biao WHERe name LIKE '%任明%';
	通配符:
		SELECt * FROM biao WHERe id LIKE '1%';
		SELECt * FROM biao WHERe id LIKE '_5';
		SELECt * FROM biao WHERe id REGEXP '^[35]';
		SELECt * FROM biao WHERe id REGEXP '^[3-5]';
		SELECt * FROM biao WHERe id REGEXP '^[^3-5]';

	in单个条件设置:SELECt * FROM biao WHERe id IN (1,8,9,99);
		SELECt * FROM biao WHERe id NOT BETWEEN 10 AND 99;

	区间范围条件:SELECt * FROM biao WHERe id BETWEEN 510 AND 99;

	区间中的单个:SELECt * FROM biao WHERe (id BETWEEN 510 AND 99) AND id IN (510,99);
		SELECt * FROM biao WHERe (id BETWEEN 510 AND 99) AND id NOT IN (514,511);

	别名:SELECt name AS n, id AS i FROM biao;
		SELECt w.name, w.id, w.sex FROM biao AS w WHERe w.sex=6 AND w.id="6";
	合并(CONCAT列)并创建别名:SELECt name, CONCAT(  id, ', ', sex) AS bieming FROM biao;

	多表连接(JOIN/INNER JOIN 与 JOIN 相同)成1表:SELECt biao.id, biao.name, biao1.id1, biao1.name1 		FROM 		biao 	INNER JOIN 	biao1	 ON 	biao.id=biao1.id1;
		内连接(匹配):SELECt biao.id, biao.name, biao1.id1, biao1.name1 		FROM 		biao 	INNER JOIN 	biao1	 ON 	biao.id=biao1.id1;
			SELECt biao.id, biao.name, biao1.id1, biao1.name1		 FROM 		biao	 INNER JOIN 	biao1	 ON	 biao.id=biao1.id1		 ORDER BY	 biao.id ;	
			SELECt biao.id, biao.name, biao1.id1, biao1.name1 		FROM		 biao 	INNER JOIN	 biao1	 ON	 biao.id=biao1.id1		 ORDER BY	 biao.id DESC;
		左连接(匹配):SELECt biao.id, biao.name, biao1.id1, biao1.name1 FROM biao LEFT JOIN biao1 ON biao.id=biao1.id1 ORDER BY biao.id DESC;
		右连接(匹配):SELECt biao.id, biao.name, biao1.id1, biao1.name1 FROM biao RIGHT JOIN biao1 ON biao.id=biao1.id1 ORDER BY biao.id DESC;

	合并查询结果集(UNIOn):
		部分合并:SELECt id FROM biao UNIOn SELECt name1 FROM biao1 ORDER BY id;
		全部合并:SELECt id FROM biao UNIOn ALL SELECt name1 FROM biao1 ORDER BY id;
		条件合并:SELECt id FROM biao WHERe id='99' UNIOn ALL SELECt name1 FROM biao1 WHERe id1='13' ORDER BY id;




插入:	INSERT INTO 	biao (name,id)	VALUES	('任明',991314);	




修改更新:UPDATe		 biao 		SET	 id=991314 ,name='任明',sex=1 	WHERe 	sex=1;


删:
	删除(逐行一条条删除记录):DELETE FROM 	biao ;
	删除(删除列id为1的一行): DELETe FROM 	biao	 WHERe	id=1;
	删除表:DROp TABLE biao;
	删除数据库:DROP DATAbase shujuku;
	清空(删除原表创建新表(删除数据不删表)):TRUNCATE TABLE	 biao;

复制表到新表(CREATE  AS  ):CREATE TABLE biao5 AS SELECT * FROM biao;

复制表到旧表(INSERT  SELECt):INSERT INTO biao3 SELECT * FROM biao;
				INSERT INTO biao3 (id,name)  SELECt id ,name FROM biao;
				INSERT INTO biao3 (id,name)  SELECt id ,name FROM biao WHERe id=1;

视图( SQL 语句结果集的可视化表(虚拟逻辑表(本身不含数据(就是select语句保存在数据字典))))(Views):
	基表:创建构成视图的实际的表叫做基表
	查看创建视图的有无权限(有Y、无N):SELECT权限、CREATE VIEW权限
		SELECT * FROM mysql.user WHERe user='root';
		SELECt * FROM mysql.user WHERe user='remli';
		SELECt Select_priv,Create_view_priv FROM mysql.user WHERe user='root';
	创建视图:CREATE OR REPLACe VIEW biaoshitu AS SELECT id,name FROM biao;
	创建视图同时指定属性清单:CREATE OR REPLACe VIEW biaoshitu (idV,nameV) AS SELECT id,name FROM biao;
	修改视图:ALTER VIEW biaoshitu AS  SELECt id,name FROM biao where id  in (select id from biao);

函数:
	Date 函数:
		日期(Dates):
		SELECt * FROM biao WHERe Dates='2008-11-11'
		SELECt * FROM biao WHERe Dates='2008-11-11 00:00:00'
	返回数值列平均值(AVG(列名)):
		SELECt AVG(id) FROM biao;
		SELECt AVG(id) AS '表id平均值' FROM biao;
		SELECt id, sex FROM biao WHERe id > (SELECt AVG(id) FROM biao);
	返回匹配指定条件的行数COUNT() :
		SELECt COUNT(id) FROM biao;
		SELECt COUNT(*) FROM biao;
		SELECt COUNT(*) AS '行数' FROM biao;
		SELECt COUNT(DISTINCT id) AS '不同行数' FROM biao;
		SELECt COUNT(id) AS 'id=520的行数' FROM biao WHERe id=520;
	返回指定的列中第一个记录的值(通过limit实现):
		SELECt id FROM biao ORDER BY id ASC LIMIT 1;
	返回指定的列中最后一个记录的值(通过limit实现):
		SELECt id FROM biao ORDER BY id DESC LIMIT 1;
	返回指定列的最大值(MAX(列名) ):
		SELECt MAX(id) AS 'id列的最大值' FROM biao;
	返回指定列的最小值(MIN(列名)):
		SELECt min(id) AS 'id列的最小值' FROM biao;
	返回数值列的总和SUM(列名):
		SELECt sum(id) AS 'id列的总和' FROM biao;
	结合聚合函数、根据一个或多个列对结果集进行分组(GROUP BY):
		SELECt id, SUM(biao.sex) AS '总和进行分组' FROM biao GROUP BY id;
		SELECt biao.name,COUNT(biao1.id1) AS '多表分组连接返回行数' FROM biao1 LEFT JOIN biao ON biao1.id1=biao.id GROUP BY biao.name;
	筛选分组后的各组数据进行聚合同时可加条件(HAVINg):
	           -- 非版本mysql5.7版本问题导致which is not functionally dependent on columns in GROUP BY clause错误
	          SET sql_mode=(SELECt REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); 
		SELECT biao.id, biao.name, SUM(biao1.id1) AS '表id1列总和' FROM (biao1 INNER JOIN biao ON biao1.id1=biao.id) GROUP BY biao.name HAVINg SUM(biao1.id1) > 200;
		SELECt biao.id, biao.name, SUM(biao1.id1) AS '表id1列总和' FROM biao1 INNER JOIN biao ON biao1.id1=biao.id WHERe biao.id < 200  GROUP BY biao.name HAVINg SUM(biao1.id1) > 200;
	判断查询子句是否有记录(EXISTS 运算符):
		SELECt biao.name, biao.id FROM biao WHERe EXISTS (SELECt id1 FROM biao1 WHERe biao.id = biao1.id1 AND id1 > 200);
		SELECt biao.name, biao.id FROM biao WHERe NOT EXISTS (SELECt id1 FROM biao1 WHERe biao.id = biao1.id1 AND id1 > 200);
	字段的值转换为大写( UCASE() ):
		SELECt UCASE(name) AS '转换大写字母', sex FROM biao;
	字段的值转换为小写( LCASE()  ):
		SELECt LCASE(name) AS '转换小写字母', sex FROM biao;
	从文本字段中提取字符(MID() ):
		SELECt MID(name,1,4) AS '提取字符4个字符' FROM biao ;
		SELECt MID(name,1,4) AS '提取字符4个字符' FROM biao WHERe id=11;
	返回文本字段中值的长度(LEN()):
		SELECt name, LENGTH(name) AS '名字长度(包含类型长度)' FROM biao;
	数值字段舍入为指定的小数位数(ROUND() ):
		SELECt ROUND(id) FROM biao;		
		SELECt ROUND(1.298, 1) AS '四舍五入保留小数1位小数';
		SELECT ROUND(1.298, 0) AS '四舍五入保留小数0位小数(整数)';
		SELECT ROUND(-1.23) AS '默认保留整数';
	返回当前系统的日期和时间NOW():
		SELECT id, name, Now() AS '当前时间' FROM biao;
	对字段的显示进行格式化(FORMAT() ):
		SELECt id, name, DATE_FORMAT(Now(),'%Y-%m-%d') AS '时间按年月日格式显示' FROM biao;

遗漏的未知不适用数据(NULL占位符):
	SELECt id,name,sex FROM biao WHERe id IS NULL;
	SELECt id,name,sex FROM biao WHERe id IS NOT NULL;
	SELECt sex *(id+name) FROM biao WHERe id IS NULL;
	SELECt sex *(id+name) FROM biao WHERe id IS NOT NULL;
	SELECt sex *(id+IFNULL(name,0)) FROM biao;
	SELECt sex *(id+COALESCE(name,0)) FROM biao;


TRANSACTION事务处理(BEGIN, ROLLBACK, COMMIT):
	start transaction;-- 开启事务
	begin;  # 开始事务
	commit; # 提交事务——结束事务
	rollback;   # 回滚——结束事务

存储过程/控制/缓存(记住必须分步执行/绝对不能复制到一起):
第一步:
DROp PROCEDURE  IF EXISTS  biao_cuncu;
delimiter $$  
CREATE PROCEDURE biao_cuncu(IN id int)
BEGIN
SELECT id;  
SET id=2;
SELECT id; 
END
第二步:
DELIMITER ;
第三步:
SET @id=11;  
CALL biao_cuncu(@id);  
SELECT @id AS '传入的值';  

	#创建存储过程:
		delimiter $$  #将语句的结束符号从分号;临时改为两个$$(可以是自定义)
		CREATE PROCEDURE biao_cuncu(OUT id int)
		BEGIN
		SELECT id;  
		SET id=2;
		SELECT id; 
		END
	#退出分号屏蔽:
		DELIMITER ;  #将语句的结束符号恢复为分号
	##设置传参调用:
		SET @id=11;  
		CALL biao_cuncu(@id);  
		
	#查看存储过程
		show procedure status;

	#删除已有存储过程
		DROP PROCEDURE  IF EXISTS  biao_cuncu;

循环插入(存储过程):-- 插入到99条数据
 		-- 删除存储过程
		DROP PROCEDURE  IF EXISTS  biaofunction;

		-- 分隔符
		DELIMITER ;; 
		-- 声明存储过程函数
		CREATE PROCEDURE biaofunction() 
		BEGIN 

		DECLARE i INT DEFAULT 1;

		WHILE i<=99
		DO 
		insert into biao(id,name) values (i,'任明'); 
		SET i=i+1; 
		END WHILE ; 
		commit; 

		END;; 

		CALL biaofunction() ;


SQL 注入(永远不要信任用户的输入):


分页(LIMIT X,Y):
	-- 第一个参数(起始行):指定第一个返回记录行的偏移量
	-- 第二个参数(行区间):指定返回记录行的最大数目
	SELECT * FROM biao LIMIT 5,10;  #检索记录行 6-15行——从第6条记录行开始算,取出10条数据
	SELECt * FROM biao LIMIT 5;     #检索前 5 个记录行
	SELECt * FROM biao LIMIT 0,5;    #检索前 5 个记录行
	SELECt * FROM biao limit 5,-1;	#取出第6条记录行以后的所有数据
2、数据库:Mysql、Oracle、DB2、Redis、monogodb 3、数据库框架:Mybatis、 四、分布式(消息中间件):Kafka、RabbitMQ 1、分布式服务框架:Dubbo 五、部署:Git(版本)、Docker(镜像)、SVN(版本)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/774493.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号