END第2个程序简单多了,而且事实上,利用了我们给数据库的功能。虽然我个人不喜欢使用嵌入文字(2627)。但是那样可以很方便地用一点预先处理来代替。数据库不只是一个存放数据的地方,它也是简化编码之地。8.使用查找控制数据完整性的最佳方式就是限制用户的选择。只要有可能都应该提供给用户一个清晰的价值列表供其选择。这样将减少键入代码的错误和误解同时提供数据的一致性。某些公共数据特别适合查找:国家代码、状态代码等
20
请举例说明使用视图的优点?
学生答案: 优点:1、视图能够简化用户的操作2、视图使用户能以多钟角度看待同一数据3、视图对重构数据库提供了一定程度的逻辑独立性4、视图能够对机密数据提供安全保护5、适当的利用视图可以更清晰的表达查询,
15
请简单描述delete语句和drop语句的差异?
学生答案: 1、执行速度不同drop语句的速度要大于delete语句。2、语言种类不同delete语句是DML语言,不会自动提交。drop语句是DDL语言,执行后会自动提交。3、功能不同delete语句用于删除局部性数据如表中的某一元组。drop语句一般用于删除整体性数据如表,模式,索引,视图,完整性限制等。4、删除形式不同delete语句删除内容、释放空间但不删除定义,但是delete既可以对行数据进行删除,也可以对整表数据进行删除。drop语句删除内容和定义,并释放空间。执行drop语句,将使此表的结构一起删除。
20
连接查询中,什么是内连接查询,什么是外连接查询?
学生答案: 内连接查询:内连接查询的关键字是innerjoin或者join。返回的是表中存在至少一个匹配的数据,那么不匹配的数据肯定就不返回了,如果都不匹配,是空。外连接查询:左外连接关键字是LEFTOUTERJOIN或LEFT JOIN。左外连接查询是以左边的表为基准,去匹配要连接的表,不管是否匹配条件都会以基准表的条数返回结果(这里明显不同于内连接),匹配到的数据就显示匹配到的数据,没有匹配条件的数据就显示为null。
20大题
有一个关于商品供应及顾客订单的数据库。其中包括四个表,表中信息如下: 供应表apply(id、name、sid、price) 说明:id 供应厂家编号,name 供应厂家名称,sid 商品编号,price 商品价格。 顾客表customers(gid、name、address、balance) 说明:gid 顾客编号,address 地址,balance 余额。 订单表orders(sid、gid、date) 说明:sid 商品编号,gid 顾客编号,date 订单日期。 商品表goods(sid、name、count) 说明:sid 商品编号,name 商品名称,count 商品数量 写出SQL完成如下操作的SQL语句:
1)查询出2008-8-8这一天顾客的订单信息,要求包括顾客姓名、商品名称及订单日期.
2)将商品表中商品编号为'204'的商品名称更改为百事可乐
3)将顾客表上余额不足1000元的,将其订单日期延后10天
4) 删除订单表中商品编号为102的订单记录 5)将商品表中没有顾客订购的商品信息删除
学生答案:
1.select*fromcustomerswherecustomers.gid=orders.gidanddate="2008-8-8"
2.updategoodssetsid=’百事可乐’wheresid=’204’;
3.selectbalanceDATE_ADD(NOW(),INTERVAL10day)fromcustomerswherebalance<1000;
4.deletefromorderswheresid=’102’;
10
已知进销存数据库Jxcxt包含如下数据表: 1)商品表:商品id(自增1), 商品名称, 单位, 单价, 商品状态 2)库存表:库存id(自增1), 商品id, 库存数量 请完成如下操作的SQL语句,表名和列名必须和上面的一致:
1、创建以上两个表的SQL语句;
2、在商品表上创建一个触发器(名字自定),当删除商品时自动删除该商品在库存表中的记录。
学生答案:
CREATETABLE商品表(商品idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,商品名称VARCHAR(20)NOTNULL,单位VARCHAR(10),单价DOUBLE,商品状态VARCHAR(10));
CREATETABLE库存表(库存idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,商品idINTNOTNULL,库存数量INT,FOREIGNKEY(商品id)REFERENCES商品表(商品id));CREATETRIGGERdelChainBEFOREDELETEON商品表FOREACHROWDELETEFROM库存表WHERE商品id=old.商品id;
10
已知选课管理系统Xkglxt包含如下数据表: 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)课程表: 课程id, 课程名称, 学分 3)选课表: 选课id, 学生id, 课程id, 成绩 请完成如下操作的SQL语句,表名和列名必须和上面的一致:
1、创建以上三个表的SQL语句;
2、创建视图 V_选课,其中包含这些字段: 选课id, 学号, 姓名, 课程名, 成绩;
3、查询张三的数据开发技术课程的成绩。
学生答案:
1.学生表:CREATETABLEstudent(xsidINTPRIMARYKEY,xhVARCHAR(13),xmVARCHAR(5),zyVARCHAR(10),njCHAR(2),xmpysxVARCHAR(5))CHARSET=utf8;课程表:CREATETABLEcourse(kcidINTPRIMARYKEY,kcmcVARCHAR(9),xfSMALLINT)CHARSET=utf8;选课表:CREATETABLEsc(xkidINTPRIMARYKEY,xsidINT,kcidINT,gradeDOUBLE(3,2),FOREIGNKEY(xsid)REFERENCESstudent(xsid),FOREIGNKEY(kcid)REFERENCEScourse(kcid))CHARSET=utf8;
2.CREATEVIEWv_选课ASSELECTs.xkid,st.xh,st.xm,c.kcmc,s.gradeFROMscsINNERJOINstudentstONs.xsid=st.xsidINNERJOINcoursecONc.kcid=s.kcid;
10
已知选课管理系统Xkglxt包含如下数据表: 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)课程表: 课程id, 课程名称, 学分 3)选课表: 选课id, 学生id, 课程id, 成绩 系统已建有getstrpy(p_name VARCHAR(100))用户自定义函数。 请完成如下操作的SQL语句,表名和列名必须和上面的一致: 1、创建以上三个表的SQL语句; 2、创建一个存储过程(名字自定),实现学生表的插入,姓名拼音缩写需要调用getstrpy函数实现。
学生答案: CREATEDATABASExkglxt;CREATETABLE学生表(学生idCHAR(4)PRIMARYKEY,学号CHAR(4),姓名CHAR(4),专业CHAR(4),年级CHAR(4),姓名拼音缩写CHAR(8))CHARSET=utf8;CREATETABLE课程表(课程idCHAR(4)PRIMARYKEY,课程名称CHAR(10),学分CHAR(4))CHARSET=utf8;CREATETABLE选课表(选课idCHAR(4)PRIMARYKEY,学生idCHAR(4),课程idCHAR(4),成绩INT,FOREIGNKEY(学生id)REFERENCES学生表(学生id),FOREIGNKEY(课程id)REFERENCES课程表(课程id))CHARSET=utf8;SELECT学号,姓名,专业,年级FROM学生表,课程表WHERE学分>=100;
7
已知选课管理系统Xkglxt包含如下数据表和自定义函数(函数已定义好可直接使用): 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)自定义函数拼音缩写查询: pysx('中文字符串') 返回 该中文字符串的拼音缩写 请完成如下操作的SQL语句,表名和列名必须和上面的一致:
1、创建选课管理系统数据库以及学生表的SQL语句;
2、在学生表上创建一个触发器(名字自定),当新增学生时自动处理姓名拼音缩写。
学生答案:
1、CREATEDATABASEXkglxtCHARSETutf8;CREATETABLE学生(学生idINTPRIMARYKEY,学号INT,专业VARCHAR(30),年纪INT,姓名VARCHAR(30),姓名拼音缩写VARCHAR(30));
2DELIMITER$$CREATETRIGGERmytriggerAFTERINSERTON学生FOREACHROWBEGININSERTINTO学生(姓名拼音缩写)VALUES(pysx(new.姓名));END$$DELIMITER;
10
已知产品销售数据库cpxs包含如下数据表: 1)产品表:产品编号,产品名称,价格,库存量。 2)销售商表:客户编号,客户名称,地区,负责人,电话。 3)产品销售表:销售日期,产品编号,客户编号,数量,销售额。 写出SQL完成如下操作的SQL语句:
1.写出产品表的建表语句
2.向产品表中插入如下记录: 0001 空调 3000 200 0002 冰箱 2500 300
3.将产品表中每种商品价格打八折后进行显示
4.查找价格在2000到2900之间的产品名称。 5.在产品销售表上创建“冰箱”产品表的视图bxcp
学生答案:
1、CREATETABLE产品表(产品编号char(4)PRIMARYKEY,产品名称VARCHAR(20)NOTNULL,价格float(7,2),库存量int(5));CREATETABLE销售商表(客户编号char(5)PRIMARYKEY,客户名称VARCHAR(20)NOTNULL,地区VARCHAR(10),负责人VARCHAR(10),电话VARCHAR(11));CREATETABLE产品销售表(销售日期date,产品编号char(4),客户编号char(5),数量int,销售额float(8,2));
2、insertinto产品表values(’0001’,’空调’,3000,200);insertinto产品表values(’0002’,’冰箱’,2500,300);
3、update产品表set价格=价格*0.8;
4、select产品名称from产品表where价格between2000and2900;5、createviewbxcpasselect*from产品表where产品名称=冰箱withcheckoption;
10
已知进销存数据库Jxcxt包含如下数据表: 1)商品表:商品id, 商品名称, 单位, 单价, 商品状态 2)库存表:库存id, 商品id, 库存数量 请完成如下操作的SQL语句,表名和列名必须和上面的一致:
1、创建以上两个表的SQL语句;
2、创建一个存储过程(名字自定),实现商品表的的插入,需要判断当前商品名称是否存在。
学生答案:
CREATEDATABASEJxcxt;CREATETABLE商品表(商品idCHAR(4)PRIMARYKEYAUTO_INCREMENT,商品名称CHAR(4),单位CHAR(4),单价INT,商品状态CHAR(4))CHARSET=utf8;CREATETABLE库存表(库存idCHAR(4)PRIMARYKEYAUTO_INCREMENT,商品idCHAR(4),库存数量INT,FOREIGNKEY(商品id)REFERENCES商品表(商品id))CHARSET=utf8;CREATEVIEWV_库存(库存id,商品名称,单位,库存数量,库存金额)ASSELECT*FROM(商品表,库存表)WITHCHECKOPTION;
10
已知选课管理系统Xkglxt包含如下数据表: 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)课程表: 课程id, 课程名称, 学分 3)选课表: 选课id, 学生id, 课程id, 成绩 请完成如下操作的SQL语句,表名和列名必须和上面的一致:
1、创建以上三个表的SQL语句;
2、创建一个存储过程(名字自定),实现选课表的插入,需要判断当前课程id和学生id是否存在。
学生答案:
CREATEDATABASExkglxt;CREATETABLE学生表(学生idCHAR(4)PRIMARYKEY,学号CHAR(4),姓名CHAR(4),专业CHAR(4),年级CHAR(4),姓名拼音缩写CHAR(8))CHARSET=utf8;CREATETABLE课程表(课程idCHAR(4)PRIMARYKEY,课程名称CHAR(10),学分CHAR(4))CHARSET=utf8;CREATETABLE选课表(选课idCHAR(4)PRIMARYKEY,学生idCHAR(4),课程idCHAR(4),成绩INT,FOREIGNKEY(学生id)REFERENCES学生表(学生id),FOREIGNKEY(课程id)REFERENCES课程表(课程id))CHARSET=utf8;
SELECT学号,姓名,专业,年级FROM学生表,课程表,选课表WHERE成绩<60;
10
有一个关于商品供应及顾客订单的数据库。其中包括四个表,表中信息如下: 供应表apply(id、name、sid、price) 说明:id 供应厂家编号,name 供应厂家名称,sid 商品编号,price 商品价格。 顾客表customers(gid、name、address、balance) 说明:gid 顾客编号,address 地址,balance 余额。 订单表orders(sid、gid、date) 说明:sid 商品编号,gid 顾客编号,date 订单日期。 商品表goods(sid、name、count) 说明:sid 商品编号,name 商品名称,count 商品数量
1)从供应表中查询全体供应厂商的基本信息
2)从顾客表中查询地址在"长春"的顾客的顾客编号、顾客姓名及余额.
3)从商品表中查询以"可乐"两个字结尾的商品名称及数量,并按商品数量降序排序
4)从订单表中查询购买商品编号为"101"商品的顾客编号及订单日期.
5)向商品表中追加一条纪录(204,可口可乐,900)
6)从商品表中查询最多商品数量、最少商品数量及商品总数量的记录信息
学生答案:
1、select*fromapply;
2、selectgid,name,balancefromcustomerswhereaddress="长春";
3、selectname,countfromgoodswherenamelike"%可乐"orderbycountdesc;
4、selectgid,datefromorderswheresid=101;
5、insertintogoodsvalues(204,"可口可乐",900);
6、selectmax(count),min(count),sum(count)fromgoods;
10
已知选课管理系统Xkglxt包含如下数据表: 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)课程表: 课程id, 课程名称, 学分 3)选课表: 选课id, 学生id, 课程id, 成绩 请完成如下操作的SQL语句,表名和列名必须和上面的一致: 1、创建以上三个表的SQL语句; 2、创建一个存储过程(名字自定),实现课程表的插入,需要判断当前课程名称的课程是否存在。
学生答案:
CREATETABLE`temp`.`学生表`(`学生id`VARCHAR(20),`学号`VARBINARY(20),`姓名`VARCHAR(20),`专业`VARCHAR(20),`年级`VARCHAR(20),`姓名拼音缩写`VARCHAR(10))CHARSET=utf8;CREATETABLE`temp`.`课程表`(`课程id`VARCHAR(20),`课程名称`VARCHAR(20),`学分`VARCHAR(20))CHARSET=utf8;
CREATETABLE`temp`.`选课表`(`选课id`VARCHAR(20),`学生id`VARCHAR(20),`课程id`VARCHAR(20),`成绩`VARCHAR(20))CHARSET=utf8;SELECT`学生表`.`学号`,`学生表`.`姓名`,`学生表`.`专业`,`学生表`.`年级`FROM`学生表`,`选课表`,`课程表`WHERE`学生表`.`学生id`=`选课表`.`学生id`AND`课程表`.`课程id`=`选课表`.`课程id`AND`课程表`.`课程名称`="数据库原理";
8
已知选课管理系统Xkglxt包含如下数据表和自定义函数(函数已定义好可直接使用): 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)自定义函数拼音缩写查询: pysx('中文字符串') 返回 该中文字符串的拼音缩写 请完成如下操作的SQL语句,表名和列名必须和上面的一致:
1、创建选课管理系统数据库以及学生表的SQL语句;
2、在学生表上创建一个触发器(名字自定),当修改学生表的姓名时自动处理姓名拼音缩写
学生答案:
1、CREATEDATABASEXkglxtCHARSETutf8;CREATETABLE学生(学生idINTPRIMARYKEY,学号INT,专业VARCHAR(30),年纪INT,姓名VARCHAR(30),姓名拼音缩写VARCHAR(30));
2`DELIMITER$$CREATETRIGGERmytriggerAFTERINSERTON学生FOREACHROWBEGININSERTINTO学生(姓名拼音缩写)VALUES(pysx(new.姓名));END$$DELIMITER;
8
已知选课管理系统Xkglxt包含如下数据表: 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)课程表: 课程id, 课程名称, 学分 3)选课表: 选课id, 学生id, 课程id, 成绩 请完成如下操作的SQL语句,表名和列名必须和上面的一致: 1、创建以上三个表的SQL语句; 2、在课程表上创建一个触发器(名字自定)。,当删除课程信息时自动删除该课程的选课信息。
学生答案:
1、1、CREATETABLE学生(学生idINTPRIMARYKEY,学号INT,姓名VARCHAR(30),专业VARCHAR(30),年纪INT,姓名拼音缩写VARCHAR(10))CHARSETutf8;CREATETABLE课程(课程idINTPRIMARYKEY,课程名称VARCHAR(30),学分INT)CHARSETutf8;CREATETABLE选课(选课idINTPRIMARYKEY,学生idINT,课程idINT,成绩INT)CHARSETutf8;
2、DELIMITER$$CREATETRIGGERmytriggerAFTERDELETEON课程FOREACHROWBEGINDELETEFROM选课WHERE选课.课程id=old.课程id;END$$DELIMITER;
8
已知进销存数据库Jxcxt包含如下数据表:
1)商品表:商品id(自增1), 商品名称, 单位, 单价, 商品状态
2)库存表:库存id(自增1), 商品id, 库存数量
请完成如下操作的SQL语句,表名和列名必须和上面的一致:
1、创建以上两个表的SQL语句;
2、在商品表上创建一个触发器(名字自定),当新增商品时自动在库存表中插入该商品的库存信息(库存数量为0)。
学生答案:
1)
createtable商品表(商品idintnotnullauto_increment,商品名称varchar(255),单位varchar(10),单价int,商品状态varchar(10),primarykey(商品id))charsetutf8;createtable库存表(库存idintnotnullauto_increment,商品idint,库存数量int,foreignkey(商品id)references商品表(商品id),primarykey(库存id))charsetutf8;
2)delimiter$$createtrigger增商品触库存afterinserton商品表foreachrowbegininsertinto库存表values(null,new.商品id,0);end$$
10
已知选课管理系统Xkglxt包含如下数据表: 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)课程表: 课程id, 课程名称, 学分 3)选课表: 选课id, 学生id, 课程id, 成绩 请完成如下操作的SQL语句,表名和列名必须和上面的一致:
1、创建以上三个表的SQL语句;
2、创建一个存储过程(名字自定),实现学生表的插入,需要判断当前学号的学生是否存在。
学生答案:
1>CREATETABLE学生表(学生idINTNOTNULLPRIMARYKEY,学号VARCHAR(20)NOTNULL,姓名VARCHAR(10)NOTNULL,专业VARCHAR(20),年级VARCHAR(10),姓名拼音缩写VARCHAR(10));CREATETABLE课程表(课程idINTNOTNULLPRIMARYKEY,课程名称VARCHAR(20),学分FLOAT);CREATETABLE选课表(选课idINTNOTNULLPRIMARYKEY,学生idINTNOTNULL,课程idINTNOTNULL,成绩FLOAT,FOREIGNKEY(学生id)REFERENCES学生表(学生id),FOREIGNKEY(课程id)REFERENCES课程表(课程id));2>DELIMITER$$CREATEPROCEDUREisInsert(id1INT,id2INT,id3INT,gradeFLOAT)BEGINIF((SELECTCOUNT(*)FROM课程表,学生表WHERE学生表.学生id=id2AND课程表.课程id=id
3)<>0)THENINSERTINTO选课表VALUES(id1,id2,id3,grade);ENDIF;END$$DELIMITER;
10
四、计算题
1、按照要求,完成以下操作。
(1)、建立一个通信录数据库,要求需要有以下三个表:
lxrenb(联系人表)其字段为(联系人编号、姓名、联系电话、家庭地址),
thjlb(通话记录表)其字段为(通话记录编号、联系人编号、通话开始时间、通知结束时间、通话类别、通话状态),
dxjlb(短信记录表)其字段为(短信记录编号、联系人编号、接发时间、短信内容、短信类别)。
请在SQL SERVER 下建立这个数据库,数据库名为:TXLSJK。字段名以及字段数据类型可自拟。
(2)、在联系人表中插入以下5条记录:
(1,朱红敏,15857455696,河南洛阳市中学路1号)
(2,张丽花,18953991767,河南洛阳市武汉路2号)
(3,梁宝莉,13752317719,河南洛阳市大学路3号)
(4,王君志,13057676112,河南洛阳市大学路4号)
(5,李保江,13752309239,河南洛阳市大学路5号)
(3)、在短信记录表中插入以下一条记录
(1,1,当前系统时间,你的书已到请速来领取,1)
(4)、更新联系人编号为4的联系人电话为13938801001
(5)、依据联系人表和通话记录表建立视图:v_lxren_thjlb(联系人编号、姓名、通话类别、通话状态)
答:(1)create table lxrenb(id int NOT NULL,name varchar(20) NOT NULL,tel varchar(11),address varchar(255),primary key(id))
---同上
(2)insert into lxrenb (id, name, tel, address) values(1,’ 朱红敏’,’ 15857455696’,’ 河南洛阳市中学路1号’)
---同上
(3)insert into dxjlb
(4)update lxrenb set ... where
(5)CREATE VIEW v_lxren_thjlb (联系人编号、姓名、通话类别、通话状态) AS
SELECT ... WHERE ...
2、学生选课系统,主要表有:学生基本信息表steudents(学号sid、姓名sname、性别ssex、专业spro、出生年月sbirthday等),选课表courses_selection(学号sid、课程号cid、分数score),课程表courses(课程号cid、课程名cname、所属专业professional、学分credits)要求:
写出SQL语句。
1) 查询所有选SQL课程的学生学号,姓名和专业。
2) 删除所有选择数学的同学的选课记录。
3) 查询有哪些课程没有被任何同学报选。
答:
select … from
delete table_name where
select … from courses where cid not in (select cid from courses_selection)
你可能感兴趣的:(数据库,java,mysql)
在Python中运行sql语句
静默追光
sql oracle 数据库
导入pymysql或者是MySQL.connector模快importpymysql#最常用importmysql.connector连接数据库#连接数据库使用pymysql模块db=pymysql.connect(host="192.168.1.110",#数据库主机名user="root",#数据库用户名password="root",#数据库密码database="test",#数据库名称c
Java基础知识:标识符、关键字、数据类型
谏君之
java教程 java jvm 开发语言 编程
Java标识符Java中的标识符是赋予变量、类、方法、包、接口等的名称。这些是唯一的名称,每个Java变量都必须使用唯一名称进行标识。例:publicclassTest{publicstaticvoidmain(String[]args){inta=20;}}在上面的Java代码中,我们有5个标识符,如下所示:测试:类名main:方法名称字符串:预定义的类名args:变量名称a:变量名称Java标
tauri如何实现窗口拖动,自定义标题栏
爱音乐的程序猿
rust语言 前端 tauri rust 前端 桌面软件 exe
文章目录一、tauri是什么?二、封装好的标题栏,引用修改即可使用三相关配置实现细节实现窗口拖动一、tauri是什么?Tauri是一个开源框架,用于创建跨平台的桌面应用程序。它使用Rust编程语言,并结合了现有的Web技术,如HTML、CSS和JavaScript。Tauri旨在提供一个快速、可靠和安全的方式来构建本地应用程序,同时保持Web开发的灵活性和易用性。它支持多个操作系统和架构,包括Wi
PostgreSQL异常:An IO error occurred while sending to the backend
m0_74824002
面试 学习路线 阿里巴巴 postgresql 数据库
在使用PostgreSQL数据库批量写入数据的时候,遇到了一个问题,异常内容如下:Cause:org.postgresql.util.PSQLException:AnI/Oerroroccurredwhilesendingtothebackend.报错内容报错提示1Causedby:org.postgresql.util.PSQLException:AnI/Oerroroccurredwhiles
解释 TypeScript 中的类型系统,如何定义和使用类型?
程序员黄同学
前端开发 JavaScript typescript ubuntu javascript
1.类型系统的核心作用TypeScript类型系统本质上是JavaScript的静态类型增强方案,提供三个核心价值:开发阶段类型检查(类似编译时eslint)更清晰的API文档(类型即文档)更好的IDE自动补全支持代码示例://错误示范:未指定类型导致潜在隐患functionadd(a,b){returna+b;}add('hello',123);//运行时错误但编译期不报错//正确类型标注fun
Redis学习
LDM>W<
苍穹外卖 redis 学习 数据库 java 后端
Redisredis是基于key-valve的方式将热门数据存储在内存,访问性能高的数据库redis服务端启动:redis-serve.exeredis.windows.confredis服务端关闭:ctrl+credis客户端连接本地:redis.cli.exeredis客户端连接其他地方:redis.cli.exe-hhost-p6379-a****(密码)//-h即host-p即port这里
Java小白-Properties类
林深的林
java 数据库
Properties类表示了一个持久的属性集。Properties可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。特点:1.继承于Hashtable,是线程安全的键值对存储结构继承自Hashtable:Properties类继承自Hashtable,而Hashtable是一个古老的线程安全的键值对存储结构。这意味着Properties也继承了线程安全的特性。线程安全:由于继承自
Java小白-Collection集合体系
林深的林
windows python linux
一、Collection集合体系1.核心接口与实现类类型特点实现类底层结构线程安全List有序、可重复、有索引ArrayList动态数组否LinkedList双向链表否Vector动态数组是(同步)Set无序、唯一HashSet哈希表+链表/红黑树否TreeSet红黑树否二、Collection常用API1.添加相关方法方法说明booleanadd(Ee)添加单
Java小白-线程相关
林深的林
java 开发语言
一、线程的创建方式1.继承Thread类通过创建一个类继承Thread类,并重写其run方法,然后在创建该类的实例时启动线程(调用start方法)。示例代码:classMyThreadextendsThread{@Overridepublicvoidrun(){//线程执行的代码}}publicclassMain{publicstaticvoidmain(String[]args){MyThrea
JAVA PTA 7-2 声明图书类,记录图书总册数,利用静态变量赋值。分数 10 作者 强彦 单位 太原理工大学
pta pass
java 开发语言
声明一个图书类,其数据成员为书名、编号(利用静态变量实现自动编号)、书价,并拥有静态数据成员册数,记录图书的总册数;在构造方法中,利用静态变量为对象的编号赋值,在主方法中定义对象数组,并求出总册数。输出格式:请输出每本图书对应的书名,书号,书价以及总图书数。输出样例:书名:Java程序设计,书号:1,书价:34.5书名:数据结构,书号:2,书价:44.8书名:C++程序设计,书号:3,书价:35.
正则表达式(1)
林深的林
正则表达式
正则表达式概述正则表达式,又称正规表示法、常规表示法(英语:RegularExpression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。正则表达式类似于JSON,是一种通用的标准,被各种开发语言所支持,包括但不限于:Java,JavaScript,C,C++,C#,Python,SQL等等;因为在J
微服务下如何保证事务的一致性?
Java技术攻略
微服务 java 数据库
背景随着业务的快速发展、业务复杂度越来越高,传统单体应用逐渐暴露出了一些问题,例如开发效率低、可维护性差、架构扩展性差、部署不灵活、健壮性差等等。而微服务架构是将单个服务拆分成一系列小服务,且这些小服务都拥有独立的进程,彼此独立,很好地解决了传统单体应用的上述问题,但是在微服务架构下如何保证事务的一致性呢?1、事务的介绍1.1事务1.1.1事务的产生数据库中的数据是共享资源,因此数据库系统通常要支
查数据库和表空间大小
隔壁老登
sql代码 数据库
查数据库和表空间大小一。postgresql数据库1.查看schema对应的表空间select*frompg_tables;2.查表空间使用情况SELECTschemaname,sum(pg_total_relation_size(schemaname||'.'||tablename))AStotal_sizeFROMpg_tableswhereschemaname='PROD'groupbysc
MySQL有哪些高可用方案?
java1234_小锋
mysql java 开发语言
大家好,我是锋哥。今天分享关于【MySQL有哪些高可用方案?】面试题。希望对大家有帮助;MySQL有哪些高可用方案?1000道互联网大厂Java工程师精选面试题-Java资源分享网MySQL高可用(HighAvailability,HA)方案主要是通过一系列技术和架构来确保MySQL数据库在出现故障时仍然可以继续提供服务。以下是一些常见的MySQL高可用方案:1.主从复制(Master-Slave
SpringBoot为什么默认使用CGLIB?
java1234_小锋
java java 开发语言
大家好,我是锋哥。今天分享关于【SpringBoot为什么默认使用CGLIB?】面试题。希望对大家有帮助;SpringBoot为什么默认使用CGLIB?1000道互联网大厂Java工程师精选面试题-Java资源分享网SpringBoot默认使用CGLIB(CodeGenerationLibrary)作为代理机制之一,主要是因为CGLIB在一些场景下相比于JDK动态代理具有更好的性能和灵活性,尤其在
如何快速定位慢SQL?
java1234_小锋
mysql java 面试 开发语言
大家好,我是锋哥。今天分享关于【如何快速定位慢SQL?】面试题。希望对大家有帮助;如何快速定位慢SQL?1000道互联网大厂Java工程师精选面试题-Java资源分享网快速定位慢SQL的过程可以通过以下几种方法来实现。这些方法的关键在于尽早识别并分析性能瓶颈,逐步优化SQL查询。1.启用慢查询日志(MySQL为例)慢查询日志是检测慢SQL的一个重要工具。可以启用慢查询日志,记录执行时间超过阈值的查
Vue-前端发展史
lengzher_5601
Vue vue.js html css js jsp
文章目录Vue-前端发展史二、前端发展史1、UI框架2、JavaScript构建工具3、三端同一4、后端技术5、主流前端框架混合开发微信小程序Vue-前端发展史二、前端发展史1、UI框架Ant-Design:阿里巴巴出品,基于React的UI框架ElementUI、iview、ice:饿了么出品,基于Vue的UI框架BootStrap:Teitter推出的一个用于前端开发的开源工具包AmazeUI
JAVA面试_进阶部分_MySQL索引失效的几种情况
茂茂在长安
JAVA mysql java 面试 mysql
1.索引不存储null值更准确的说,单列索引不存储null值,复合索引不存储全为null的值。索引不能存储Null,所以对这列采用isnull条件时,因为索引上根本没Null值,不能利用到索引,只能全表扫描。为什么索引列不能存Null值?将索引列值进行建树,其中必然涉及到诸多的比较操作。Null值的特殊性就在于参与的运算大多取值为null。这样的话,null值实际上是不能参与进建索引的过程。也就是
HTML5 Canvas制作雪花飘落动画
坚持坚持那些年
本文还有配套的精品资源,点击获取简介:HTML5引入了Canvas元素,它赋予网页设计师丰富的绘图能力,允许通过JavaScript实现复杂的动画效果。本文将介绍如何结合HTML5的Canvas元素和JavaScript创建一个全屏的雪花飘落背景动画。通过定义雪花对象、创建雪花数组、编写主循环并利用requestAnimationFrame来绘制和更新雪花位置,我们能够实现一个逼真的雪花飘落动画效
java websocket 认证_配置JAVA SSL/TLS 之websocket wss交互式认证
weixin_39695490
java websocket 认证
我下面生成的.keystore文件也可以用.jks后缀代替,jks的意思就是javakeystore,另外需要知道.cer文件是二进制的,.pem文件是文本文件,本质都是一样的,他们可以互相转换。java语言操作的是二进制的文件,其他的一些脚本语言,可能操作的是PEM格式的文件。看具体情况吧。创建服务端keystorekeytool-genkey-v-aliasserver_ks-keysize2
服务器ws证书,C#使用带有ssl和服务器证书的ws-security webservice无法为具有权限的SSL / TLS Build 安全通道...
王振升
服务器ws证书
我必须使用带有SSL证书和服务器证书的javawebservice.我获得了TLS证书和WSS证书我的app.config:binding="customBinding"bindingConfiguration="customB"behaviorConfiguration="myBehavior"contract="ServiceReference1.MyClient"name="Name">me
Java快排算法详解
大梦谁先觉i
数据结构与算法 算法 java 排序算法
快排算法底层基本思想:先取出数列中的第一个数作为基准数。将数列中比基准数大的数全部放在他的右边,比基准数小的数全部放在它的左边。然后在对左右两部分重复第二步,直到各个区间只有一个数。具体Java代码实现publicclassQuickSort{publicstaticvoidsort(int[]array,intlow,inthigh){if(low=benchmark){high--;}//比基
一张表多少记录,会成为大表?如何计算
18你磊哥
mysql 数据库 mysql
首先,“大表”的定义并不是绝对的。不同的数据库系统、不同的硬件配置、不同的查询模式,对“大”的定义可能都不一样。比如,对于MySQL来说,百万级别的记录可能已经算大表,而对于一些分布式数据库,可能处理十亿级别的数据才算挑战。接下来,用户可能想知道如何判断自己的表是否过大,以及如何计算这个阈值。这时候,我需要考虑几个方面:数据量、性能指标、存储引擎的特性、索引情况、查询复杂度等。数据量方面,表的记录
探索创新:CanvasParticles - 点燃你的网页动态效果
柏赢安Simona
探索创新:CanvasParticles-点燃你的网页动态效果去发现同类优质开源项目:https://gitcode.com/是一个开源的JavaScript库,专注于在HTML5Canvas上创建引人入胜的粒子动画效果。如果你是Web开发者,正在寻找一种方法为你的网站增添独特的视觉吸引力,那么这个项目绝对值得你深入了解。项目简介CanvasParticles提供了一套简洁而强大的API,让你能够
探索CoreHTML5Canvas:创作动态Web图形的新工具
郁英忆
探索CoreHTML5Canvas:创作动态Web图形的新工具去发现同类优质开源项目:https://gitcode.com/是一个强大的JavaScript库,专为开发者设计,旨在简化和增强在Web上创建交互式和动画图形的能力。这个项目利用HTML5Canvas元素,提供了一个简洁且高效的API,让开发人员可以轻松地构建出丰富的2D渲染效果。技术分析HTML5Canvas是HTML5的一个重要特
JavaEE 项目常见错误解决方案
一弦一柱
JavaEE 常见错误 中文乱码 JSP 404
JavaEE项目常见错误解决方案数据库连接JavaBean获取不到数据库字段值或出现意料之外的值业务中出现null或""404NOTFOUNDGET请求中文乱码form表单提交中文乱码最近的实训中,练了一个比较基础的项目,JSP+Servlet+JavaBean,完成两张表的CRUD操作,前端使用Bootstrap和JQuery,交互使用AJAX,IDE选用Eclipse,在时间比较仓促的情况下完
如何实现和调试REST API中的摘要认证(Digest Authentication)
如何实现和调试RESTAPI中的摘要认证(DigestAuthentication)在保护RESTAPI时,开发者通常会在多种认证机制之间进行选择,其中摘要认证(DigestAuthentication)是一种常见的选择。本文探讨了使用摘要认证的原因,解释了其原理,提供了Java和Go语言的实现示例,并提供了测试该认证的工具和方法。为什么使用摘要认证来保护RESTAPI?摘要认证是一种安全的用户验
使用Spring Boot集成Kafka开发:接收Kafka消息的Java应用
YazIdris
java spring boot kafka
Kafka是一个分布式的流处理平台,它具有高吞吐量、可扩展性和容错性的特点。SpringBoot提供了与Kafka集成的便捷方式,使得开发者可以轻松地创建Kafka消息接收应用。本文将介绍如何使用SpringBoot集成Kafka开发,以及如何编写Java代码来接收Kafka消息。首先,确保你已经安装了Kafka和Zookeeper,并启动了它们。接下来,创建一个新的SpringBoot项目,并添
定期备份数据库:基于 Shell 脚本的自动化方案
mysql服务器脚本
数据库备份这件事,说实话,我一直没怎么上心。平时服务器跑得好好的,谁会想着备份呢?直到某天真出问题了,才意识到自己平时有多“懒”。我相信很多人跟我一样,觉得这东西看起来麻烦,等到数据库挂了、数据丢失了,才感叹自己怎么就没提前准备好呢?有一次数据库问题搞得我手忙脚乱,最后还好有个朋友给了我个备份文件,才算是有惊无险。经历了这次以后,我决定不能再拖了,必须把备份这事儿自动化起来。所以,我写了一个简单的
Java开发效率的秘密武器:AI如何重塑你的编码体验?
Leaton Lee
java 人工智能 python
引言:代码中的“隐形导师”作为一名Java开发者,你是否曾经在深夜加班时感叹:“为什么我的代码总是出错?”或者“为什么别人写代码比我快那么多?”今天,我们将揭开一个鲜为人知的秘密——AI正在悄然改变我们的编码方式。在这篇文章中,我将带领你走进Java与AI结合的奇妙世界,揭示那些从未被详细讲述的细节。无论是代码补全、错误修复,还是性能优化,AI都能成为你的“隐形导师”。准备好让你的编码效率翻倍了吗
数据采集高并发的架构应用
3golden
.net
问题的出发点:
最近公司为了发展需要,要扩大对用户的信息采集,每个用户的采集量估计约2W。如果用户量增加的话,将会大量照成采集量成3W倍的增长,但是又要满足日常业务需要,特别是指令要及时得到响应的频率次数远大于预期。
&n
不停止 MySQL 服务增加从库的两种方式
brotherlamp
linux linux视频 linux资料 linux教程 linux自学
现在生产环境MySQL数据库是一主一从,由于业务量访问不断增大,故再增加一台从库。前提是不能影响线上业务使用,也就是说不能重启MySQL服务,为了避免出现其他情况,选择在网站访问量低峰期时间段操作。
一般在线增加从库有两种方式,一种是通过mysqldump备份主库,恢复到从库,mysqldump是逻辑备份,数据量大时,备份速度会很慢,锁表的时间也会很长。另一种是通过xtrabacku
Quartz——SimpleTrigger触发器
eksliang
SimpleTrigger TriggerUtils quartz
转载请出自出处:http://eksliang.iteye.com/blog/2208166 一.概述
SimpleTrigger触发器,当且仅需触发一次或者以固定时间间隔周期触发执行;
二.SimpleTrigger的构造函数
SimpleTrigger(String name, String group):通过该构造函数指定Trigger所属组和名称;
Simpl
Informatica应用(1)
18289753290
sql workflow lookup 组件 Informatica
1.如果要在workflow中调用shell脚本有一个command组件,在里面设置shell的路径;调度wf可以右键出现schedule,现在用的是HP的tidal调度wf的执行。
2.designer里面的router类似于SSIS中的broadcast(多播组件);Reset_Workflow_Var:参数重置 (比如说我这个参数初始是1在workflow跑得过程中变成了3我要在结束时还要
python 获取图片验证码中文字
酷的飞上天空
python
根据现成的开源项目 http://code.google.com/p/pytesser/改写
在window上用easy_install安装不上 看了下源码发现代码很少 于是就想自己改写一下
添加支持网络图片的直接解析
#coding:utf-8
#import sys
#reload(sys)
#sys.s
AJAX
永夜-极光
Ajax
1.AJAX功能:动态更新页面,减少流量消耗,减轻服务器负担
2.代码结构:
<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
.... AJAX script goes here ...
创业OR读研
随便小屋
创业
现在研一,有种想创业的想法,不知道该不该去实施。因为对于的我情况这两者是矛盾的,可能就是鱼与熊掌不能兼得。
研一的生活刚刚过去两个月,我们学校主要的是
需求做得好与坏直接关系着程序员生活质量
aijuans
IT 生活
这个故事还得从去年换工作的事情说起,由于自己不太喜欢第一家公司的环境我选择了换一份工作。去年九月份我入职现在的这家公司,专门从事金融业内软件的开发。十一月份我们整个项目组前往北京做现场开发,从此苦逼的日子开始了。
系统背景:五月份就有同事前往甲方了解需求一直到6月份,后续几个月也完
如何定义和区分高级软件开发工程师
aoyouzi
在软件开发领域,高级开发工程师通常是指那些编写代码超过 3 年的人。这些人可能会被放到领导的位置,但经常会产生非常糟糕的结果。Matt Briggs 是一名高级开发工程师兼 Scrum 管理员。他认为,单纯使用年限来划分开发人员存在问题,两个同样具有 10 年开发经验的开发人员可能大不相同。近日,他发表了一篇博文,根据开发者所能发挥的作用划分软件开发工程师的成长阶段。
初
Servlet的请求与响应
百合不是茶
servlet get提交 java处理post提交
Servlet是tomcat中的一个重要组成,也是负责客户端和服务端的中介
1,Http的请求方式(get ,post);
客户端的请求一般都会都是Servlet来接受的,在接收之前怎么来确定是那种方式提交的,以及如何反馈,Servlet中有相应的方法, http的get方式 servlet就是都doGet(
web.xml配置详解之listener
bijian1013
java web.xml listener
一.定义
<listener>
<listen-class>com.myapp.MyListener</listen-class>
</listener>
二.作用 该元素用来注册一个监听器类。可以收到事件什么时候发生以及用什么作为响
Web页面性能优化(yahoo技术)
Bill_chen
JavaScript Ajax Web css Yahoo
1.尽可能的减少HTTP请求数 content
2.使用CDN server
3.添加Expires头(或者 Cache-control) server
4.Gzip 组件 server
5.把CSS样式放在页面的上方。 css
6.将脚本放在底部(包括内联的) javascript
7.避免在CSS中使用Expressions css
8.将javascript和css独立成外部文
【MongoDB学习笔记八】MongoDB游标、分页查询、查询结果排序
bit1129
mongodb
游标
游标,简单的说就是一个查询结果的指针。游标作为数据库的一个对象,使用它是包括
声明
打开
循环抓去一定数目的文档直到结果集中的所有文档已经抓取完
关闭游标
游标的基本用法,类似于JDBC的ResultSet(hasNext判断是否抓去完,next移动游标到下一条文档),在获取一个文档集时,可以提供一个类似JDBC的FetchSize
ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法
白糖_
ORA-12514
今天通过Oracle SQL*Plus连接远端服务器的时候提示“监听程序当前无法识别连接描述符中请求服务”,遂在网上找到了解决方案:
①打开Oracle服务器安装目录\NETWORK\ADMIN\listener.ora文件,你会看到如下信息:
# listener.ora Network Configuration File: D:\database\Oracle\net
Eclipse 问题 A resource exists with a different case
bozch
eclipse
在使用Eclipse进行开发的时候,出现了如下的问题:
Description Resource Path Location TypeThe project was not built due to "A resource exists with a different case: '/SeenTaoImp_zhV2/bin/seentao'.&
编程之美-小飞的电梯调度算法
bylijinnan
编程之美
public class AptElevator {
/**
* 编程之美 小飞 电梯调度算法
* 在繁忙的时间,每次电梯从一层往上走时,我们只允许电梯停在其中的某一层。
* 所有乘客都从一楼上电梯,到达某层楼后,电梯听下来,所有乘客再从这里爬楼梯到自己的目的层。
* 在一楼时,每个乘客选择自己的目的层,电梯则自动计算出应停的楼层。
* 问:电梯停在哪
SQL注入相关概念
chenbowen00
sql Web 安全
SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。
首先让我们了解什么时候可能发生SQ
[光与电]光子信号战防御原理
comsci
原理
无论是在战场上,还是在后方,敌人都有可能用光子信号对人体进行控制和攻击,那么采取什么样的防御方法,最简单,最有效呢?
我们这里有几个山寨的办法,可能有些作用,大家如果有兴趣可以去实验一下
根据光
oracle 11g新特性:Pending Statistics
daizj
oracle dbms_stats
oracle 11g新特性:Pending Statistics 转
从11g开始,表与索引的统计信息收集完毕后,可以选择收集的统信息立即发布,也可以选择使新收集的统计信息处于pending状态,待确定处于pending状态的统计信息是安全的,再使处于pending状态的统计信息发布,这样就会避免一些因为收集统计信息立即发布而导致SQL执行计划走错的灾难。
在 11g 之前的版本中,D
快速理解RequireJs
dengkane
jquery requirejs
RequireJs已经流行很久了,我们在项目中也打算使用它。它提供了以下功能:
声明不同js文件之间的依赖
可以按需、并行、延时载入js库
可以让我们的代码以模块化的方式组织
初看起来并不复杂。 在html中引入requirejs
在HTML中,添加这样的 <script> 标签:
<script src="/path/to
C语言学习四流程控制if条件选择、for循环和强制类型转换
dcj3sjt126com
c
# include <stdio.h>
int main(void)
{
int i, j;
scanf("%d %d", &i, &j);
if (i > j)
printf("i大于j\n");
else
printf("i小于j\n");
retu
dictionary的使用要注意
dcj3sjt126com
IO
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
user.user_id , @"id",
user.username , @"username",
Android 中的资源访问(Resource)
finally_m
xml android String drawable color
简单的说,Android中的资源是指非代码部分。例如,在我们的Android程序中要使用一些图片来设置界面,要使用一些音频文件来设置铃声,要使用一些动画来显示特效,要使用一些字符串来显示提示信息。那么,这些图片、音频、动画和字符串等叫做Android中的资源文件。
在Eclipse创建的工程中,我们可以看到res和assets两个文件夹,是用来保存资源文件的,在assets中保存的一般是原生
Spring使用Cache、整合Ehcache
234390216
spring cache ehcache @Cacheable
Spring使用Cache
从3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的
当druid遇上oracle blob(clob)
jackyrong
oracle
http://blog.csdn.net/renfufei/article/details/44887371
众所周知,Oracle有很多坑, 所以才有了去IOE。
在使用Druid做数据库连接池后,其实偶尔也会碰到小坑,这就是使用开源项目所必须去填平的。【如果使用不开源的产品,那就不是坑,而是陷阱了,你都不知道怎么去填坑】
用Druid连接池,通过JDBC往Oracle数据库的
easyui datagrid pagination获得分页页码、总页数等信息
ldzyz007
var grid = $('#datagrid');
var options = grid.datagrid('getPager').data("pagination").options;
var curr = options.pageNumber;
var total = options.total;
var max =
浅析awk里的数组
nigelzeng
二维数组 array 数组 awk
awk绝对是文本处理中的神器,它本身也是一门编程语言,还有许多功能本人没有使用到。这篇文章就单单针对awk里的数组来进行讨论,如何利用数组来帮助完成文本分析。
有这么一组数据:
abcd,91#31#2012-12-31 11:24:00
case_a,136#19#2012-12-31 11:24:00
case_a,136#23#2012-12-31 1
搭建 CentOS 6 服务器(6) - TigerVNC
rensanning
centos
安装GNOME桌面环境
# yum groupinstall "X Window System" "Desktop"
安装TigerVNC
# yum -y install tigervnc-server tigervnc
启动VNC服务
# /etc/init.d/vncserver restart
# vncser
Spring 数据库连接整理
tomcat_oracle
spring bean jdbc
1、数据库连接jdbc.properties配置详解 jdbc.url=jdbc:hsqldb:hsql://localhost/xdb jdbc.username=sa jdbc.password= jdbc.driver=不同的数据库厂商驱动,此处不一一列举 接下来,详细配置代码如下:
Spring连接池  
Dom4J解析使用xpath java.lang.NoClassDefFoundError: org/jaxen/JaxenException异常
xp9802
用Dom4J解析xml,以前没注意,今天使用dom4j包解析xml时在xpath使用处报错
异常栈:java.lang.NoClassDefFoundError: org/jaxen/JaxenException异常
导入包 jaxen-1.1-beta-6.jar 解决;
&nb