1、什么是存储过程?
存储过程可以理解为是一个函数,函数中可以有参数可以无参数,函数是被调用的时候才会被执行,函数中封装了一组sql语句。
2、存储过程的分类?
不带参数的、待参数的、带返回值的
3、简单代码实例
--创建测试数据create table books ( book_id int identity(1,1) primary key, book_name varchar(20), book_price float, book_auth varchar(10));
--插入测试数据insert into books (book_name,book_price,book_auth) values ('论语',25.6,'孔子'), ('天龙八部',25.6,'金庸'), ('雪山飞狐',32.7,'金庸'), ('平凡的世界',35.8,'路遥'), ('史记',54.8,'司马迁');
select * from books;
--创建无参数的存储过程create procedure getAllBooksasselect * from books;--调用无参存储过程exec getAllbooks;
--创建带一个参数的存储过程create procedure getBookById(@BookId int)as select * from books where book_id=@BookId;
exec getBookById 2;
--创建带两个参数的存储过程create procedure getBookByParms( @bookid int, @auth varchar(20))as select * from books where book_id=@bookid and book_auth=@auth;
一、使用sum()函数,可展开两层的嵌套列表
a = [[1, 2, 3], [ 4, 5, 6], [7], [8, 9]] out = sum(a, []) print(out) output:[1, 2, 3, 4, 5, 6, 7, 8, 9] 二、使用itertools
import itertools a = [[1, 2, 3], [4, 5, 6], [7], [8, 9]] out = list(itertools.chain.from_iterable(a)) print(out) output:[1, 2, 3, 4, 5, 6, 7, 8, 9] 三、使用operator、reduce函数
import operator from functools import reduce a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(reduce(operator.
1、insert语法
insert into [数据库名].[dbo].[表名] (clum1,clum2...) values(v1,v2...)
2、select语法
select * from [表名] where [条件表达式]
3、update语法
update [表名] set [列名1=,列名2=] where [条件表达式]
4、delete语法
delete from [表名] where [条件表达式]
运算符 # 1.算术运算符 var x=10; var res1=x++; '先赋值后自增1' var res2=++x; '先自增1后赋值' # 2.比较运算符 弱等于:自动转换类型 '5' == 5 '结果是true js会自动转换成相同数据类型比较值是否一样' 强等于:不转换类型 '5' === 5 '结果是false' # 3.逻辑运算符 python中使用 and、or、not js中使用&&、||、! 流程控制 # if判断 1.单if分支 if(条件){ 条件成立执行的分支代码块 } 2.if...else分支 if(条件){ 条件成立执行的分支代码块 }else{ 条件不成立执行的分支代码块 } 3.if...else if...else分支 if(条件1){ 条件1成立执行的分支代码块 }else if(条件2){ 条件1不成立条件2成立执行的分支代码块 }else{ 条件1和2都不成立执行的分支代码块 } 4.switch语法 var n1 = 1; switch (n1) { case 0: console.log(干饭); break; # 如果不加break会基于当前位置一直往下运行 case 1: console.log(睡觉); break; case 2: console.
3个步骤实现在Ubuntu安装MySQL Server:
1.添加apt源
shell> sudo dpkg -i /PATH/version-specific-package-name.deb # 仓库文件下载地址:https://dev.mysql.com/downloads/repo/apt/ shell> sudo apt-get update 2.安装
shell> sudo apt-get install mysql-server 3.启动服务
shell> sudo service mysql status shell> sudo service mysql stop shell> sudo service mysql start 需要特别注意的是: 在安装过程中会提示设置root账户密码,一定要在这里设置好,否则安装完毕之后无法登录MySQL,切记切记!!!
【参考】 https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/ A Quick Guide to Using the MySQL APT Repository https://blog.csdn.net/lyhdream/article/details/40717467 Ubuntu下取消MySQL自动启动
前言 银行家算法是最著名的避免死锁的算法。下面用Java来实现它。
代码 主要使用到的类是BankerAlgorithm。
并且进程的信息是从文件中读入的。
1、使用到的变量 private static final int W = 10, R = 10; int M, N; //总进程数、资源种类 int[] ALL_RESOURCE = new int[W]; //默认各种资源总数目为10种 int[][] MAX = new int[W][R]; //M个进程对N类资源最大资源需求量 int[] AVAILABLE = new int[R]; // 系统可用资源数 int[][] ALLOCATION = new int[W][R]; // M个进程已经得到N类资源的资源量 int[][] NEED = new int[W][R]; // M个进程还需要N类资源的资源量 int[] Request = new int[R]; // 请求资源个数 int[] P = new int[W]; //进程安全序列 String fileName = D:\\data.
ubuntu 18 可以直接命令安装:# 安装mysql服务sudo apt-get install mysql-server# 安装客户端sudo apt install mysql-client# 安装依赖sudo apt install libmysqlclient-dev# 检查状态sudo netstat -tap | grep mysql
ubuntu 20 默认安装mysql 8,所以要手动安装
# 新建目录mkdir mysql5.7.31
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar
mv mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar ./mysql5.7.31
# 解压cd mysql5.7.31sudo tar -vxf mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar
# 解压出来的deb安装包如下:libmysqlclient20_5.7.31-1ubuntu18.04_amd64.debmysql-client_5.7.31-1ubuntu18.04_amd64.debmysql-community-source_5.7.31-1ubuntu18.04_amd64.debmysql-server_5.7.31-1ubuntu18.04_amd64.debmysql-common_5.7.31-1ubuntu18.04_amd64.debmysql-testsuite_5.7.31-1ubuntu18.04_amd64.deblibmysqlclient-dev_5.7.31-1ubuntu18.04_amd64.debmysql-community-client_5.7.31-1ubuntu18.04_amd64.debmysql-community-server_5.7.31-1ubuntu18.04_amd64.deblibmysqld-dev_5.7.31-1ubuntu18.04_amd64.debmysql-community-test_5.7.31-1ubuntu18.04_amd64.deb
# 删除2个测试相关的包sudo rm -f mysql-testsuite_5.7.31-1ubuntu18.04_amd64.debsudo rm -f mysql-community-test_5.7.31-1ubuntu18.04_amd64.deb
# 安装依赖sudo apt-get install libtinfo5sudo apt-get install libmecab2
# 使用deb安装sudo dpkg -i mysql-*.deb
安装完毕,密码为greptemporary password /var/log/mysqld.log
sudo netstat -tap | grep mysql 或:sudo service mysql status如果报错:maskedsudo systemctl unmask mysql.
作者:KubeVela 社区
开源之夏是由“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展,培养和发掘更多优秀的开发者。
活动联合国内外各大开源社区,针对重要开源软件的开发与维护提供项目任务,并面向全球高校学生开放报名。
参加 KubeVela 开源之夏,你将收获 结识志同道合的小伙伴,和技术大牛一起贡献开源 匹配资深的开源社区导师,在为期三个月的开发周期中,导师指导进行对应项目的开发工作 根据项目开发“战绩”得活动奖金及证书奖励 欢迎参与 KubeVela 社区,今年我们有 3 个项目,列表如下:
https://summer-ospp.ac.cn/#/org/projectlist
项目 1|在 KubeVela 添加网络和微服务的插件,产出基于KubeVela 的服务治理领域的应用场景 难 度:基础
支持语言:中文
导师:王易可(
[email protected])
内容与目标:为 KubeVela 制作面向开发者以及平台级的插件功能,KubeVela 插件(Addon)可以将 Kubernetes 生态当中丰富的功能集成进 KubeVela 所管理的多集群的环境当中。基于 KubeVela 的 Addon 体系,制作 APISIX, Istio,Linkerd,Envovy,Dapr 等相关插件,制作用户友好的各种 defintion,产出关于多集群环境下服务治理的典型应用场景案例,并撰写最佳实践相关文档和 demo。
项目 2|为 KubeVela 中的 Cue Actions 添加版本管理 难 度:进阶/Advanced
支持语言:中文/English
导师:董天欣(
[email protected])
内容与目标:KubeVela 中使用 Cue 作为 IaC 管理,在 KubeVela 的工作流当中,用户可以通过使用内置的 Cue Action 来编写 Definition。但是目前的 Cue Action 缺少版本管理,每当 Action 内部进行参数变动时,会影响到之前的用户使用。需要考虑并设计一个合理的版本管理机制,帮助用户更好地使用 Cue Action。
方法
System.out.println(),那么它是什么呢?
Java方法是语句的集合,它们在一起执行一个功能
方法是解决一类问题的步骤的有序组合
方法包含类或对象中
方法在程序中被创建,在其他地方被引用
设计方法的原则:方法的本意是功能块,就是某个功能的语句块的集合,我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展
创建对象内存分析 Application.java
package com.oop; import com.oop.demo03.Pet; public class Application { public static void main(String[] args) { Pet dog = new Pet(); dog.name = 旺财; dog.age = 3; dog.shout(); System.out.println(dog.name); System.out.println(dog.age); Pet cat = new Pet(); } } Pet.java 模板
package com.oop.demo03; public class Pet { public String name;//默认为null public int age;//默认为0 //无参构造 public void shout(){ System.out.println(叫了一声); } }