目录
一.数据库基本概念(理解)
1.数据
2.数据库
二.常用的数据的数据库(了解)
1.大型数据库
2.中型数据库
3.小型数据库
三.基于嵌入式的数据库(了解)
四.SQLite基础(了解)
五.创建数据库(熟练)
1.手工创建
2.代码创建
六.SQLite编程接口
七.代码示例(学生管理系统)
八.水果店铺管理系统
一.数据库基本概念(理解 )
1.数据
能够输入计算机并能够计算机程序识别和处理的信息集合。(不只是数字)
2.数据库
数据库是在数据库管理系统 管理和控制之下,存放在存储介质 上的数据集合。
二.常用的数据的数据库(了解)
1.大型数据库
Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作系统平台。目前Oracle关系数据库产品的市场占有率名列前茅。 IBM 的DB2是第一个具备网上功能的多媒体关系数据库管理系统,支持包Linux在内的一系列平台。
2.中型数据库
Server是微软开发的数据库产品,主要支持windows平台。
3.小型数据库
mySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司,2008年被Sun公司收购,开放源码。
三.基于嵌入式的数据库(了解)
基于嵌入式Linux的数据库主要有SQLite , Firebird, Berkeley DB, eXtremeDB
Firebird是关系型数据库,功能强大,支持存储过程、SQL兼容等
SQLite关系型数据库,体积小,支持ACID事务
Berkeley DB中并没有数据库服务器的概念,它的程序库直接链接到应用程序中
eXtremeDB是内存数据库,运行效率高
四.SQLite基础(了解)
SQLite的源代码是C,其源代码完全开放。SQLite第一个Alpha版本诞生于2000年5月。 他是一个轻量级的嵌入式数据库。
SQLite有以下特性:
零配置一无需安装和管理配置;
储存在单一磁盘文件中的一个完整的数据库;
数据库文件可以在不同字节顺序的机器间自由共享;
支持数据库大小至2TB;
足够小,全部源码大致3万行c代码,250KB;
比目前流行的大多数数据库对数据的操作要快;
五.创建数据库(熟练)
1.手工创建
使用SQLite3工具,通过手工输入SQL命令行完成数据库创建 . 用户在Linux的命令行界面中输入SQLite3可启动SQLite3工具
数据库的安装
sudo dpkg -i *.deb //本地安装包安装
sudo apt-get install sqlite3 //在线安装
数据库常用命令
(1) 系统命令都以“ . ”开头
.exit //退出
.quit //退出
.table //查看表
.schema //查看表的结构
.help //显示所有命令
.database //显示当前打开的数据库文件
打开数据库文件
在终端下运行sqlite3 <*.db>,出现如下提示符
SQLite version 3.7.2
Enter “.help” for instructions
Enter SQL statements terminated with a “;”
sqlite>
<*.db> 是要打开的数据库文件。若该文件不存在,则自动创建
(2)sql执行语句,都以“ ;”结尾
创建一张表
create table (f1 type1, f2 type2,…);
crerate table stuinfo(id integer ,name char ,age intger,score float);
插入一条记录
insert into values (value1, value2,…);
insert into stuinfo values(1001, 'zhangsan', 18, 80);
insert into stuinfo (id, name, score) values(1002, 'lisi', 90);
查看数据库记录(where后面是条件)
select * from where ;
select * from stuinfo;
select * from stuinfo where score = 80;
select * from stuinfo where score = 80 and name= 'zhangsan';
select * from stuinfo where score = 80 or name='wangwu';
select name,score from stuinfo; 查询指定的字段
select * from stuinfo where score >= 85 and score < 90;
删除一条记录
sqlite>delete from where ;
delete from stuinfo where id=1003 and name='zhangsan';
更新一条记录
sqlite>update set , … where;
update stuinfo set age=20 where id=1003;
update stuinfo set age=30, score = 82 where id=1003;
删除一张表
drop table
drop table stuinfo;
增加一列
alter table add column default …;
alter table stuinfo add column sex char;
删除一列(通过创建新的表来删除)
create table stu as select id, name, score from stuinfo;
drop table stuinfo;
alter table stu rename to stuinfo;
2.代码创建
在程序运行过程中,当需要进行数据库操作时,应用程序会首先尝试打开数据库,此时如果数据库并不存在,程序则会自动建立数据库,然后再打开数据库
六.SQLite编程接口
1.打开(创建)sqlite数据库
int sqlite3_open(char *path, sqlite3 **db);
path:数据库文件路径(数据库名称)
db:指向sqlite句柄的指针
返回值:成功返回0,失败返回错误码(非零值)
2.关闭sqlite数据库
int sqlite3_close(sqlite3 *db);
返回值:成功返回0,失败返回错误码
3.得到错误信息的描述
const char *sqlite3_errmg(sqlite3 *db);
返回值:返回错误信息
4.执行SQL语句操作
Int sqlite3_exec(
sqlite3 *db,
const char *sql,
sqlite3_callback callback,
void *, char **errmsg
);
db:数据库句柄
sql:SQL语句
callback:回调函数
errmsg:错误信息指针的地址
返回值:成功返回0,失败返回错误码
/* Callback function */
功能:查询语句执行之后,会回调此函数
查询回调函数:
int (*callback)(void* arg,int ncolumns ,char** f_value,char** f_name);
参数:arg 接收sqlite3_exec 传递来的参数
ncolumns 列数(记录中包含的字段数目)
f_value 列的值的地址(包含每个字段值的指针数组)
f_name 列的名称(包含每个字段名称的指针数组)
返回值:成功返回0,失败返回-1
5. 不使用回调函数执行SQL操作查询
不使用回调函数执行SQL语句
int sqlite3_get_table(sqlite3 *db, const char *sql, char ***resultp, int*nrow, int *ncolumn, char **errmsg);
db:数据库句柄
sql:SQL语句
resultp:用来指向sql执行结果的指针
nrow:满足条件的记录的数目
ncolumn:每条记录包含的字段数目
errmsg:错误信息指针的地址
返回值:成功返回0,失败返回错误码
七.代码示例(学生管理系统)
管理学生的信息
八.水果店铺管理系统
管理水果种类,重量,价格等信息和信息变动记录
#include
#include
#include
#include
#include
#define DATABASE "fruit.db"
#define TABLES "fruit"
#define N 128
int do_insert(sqlite3 *db,char *buf);
int do_update_weight(sqlite3 *db,char *buf);
int do_update_price(sqlite3 *db);
int do_query(sqlite3 *db);
int callback(void *arg, int f_num, char ** f_value, char ** f_name);
int main(int argc, const char *argv[])
{
sqlite3 *db;
char *errmsg;
int n;
char sql[128] = {};
char buf[128] = {};
time_t t;
struct tm *tp;
if(sqlite3_open(DATABASE, &db) != SQLITE_OK)
{
printf("%s\n", sqlite3_errmsg(db));
return -1;
}
else
{
printf("open DATABASE success.\n");
}
sprintf(sql,"create table if not exists '%s' (id integer primary key autoincrement,name char,weight float,price float,time char);",TABLES);
if(sqlite3_exec(db, sql,NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("%s\n", errmsg);
}
else
{
printf("Create or open table success.\n");
}
time(&t);
tp = localtime(&t);
sprintf(buf,"%d-%02d-%02d %02d:%02d:%02d\n",tp->tm_year+1900, tp->tm_mon+1,tp->tm_mday, tp->tm_hour, tp->tm_min, tp->tm_sec);
printf("%s",buf);
while(1)
{
puts("-----------------------------------------");
do_query(db);
puts("-----------------------------------------");
puts("");
printf("********************************************\n");
printf("1: insert 插入 2:query 查询 3:trade 交易 4:update 更新 5:quit 退出系统\n");
printf("********************************************\n");
printf("Please select:");
scanf("%d", &n);
switch(n)
{
case 1:
do_insert(db,buf);
break;
case 2:
do_query(db);
break;
case 3:
do_update_weight(db,buf);
break;
case 4:
do_update_price(db);
break;
case 5:
printf("main exit.\n");
sqlite3_close(db);
exit(0);
break;
default :
printf("Invalid data n.\n");
}
}
return 0;
}
int do_insert(sqlite3 *db,char *buf)
{
char name[32] = {};
float weight;
float price;
char sql[N] = {};
char *errmsg;
printf("Input fruit name:");
scanf("%s", name);
getchar();
printf("Input weight:");
scanf("%f", &weight);
printf("Input price:");
scanf("%f", &price);
sprintf(sql, "insert into '%s' (name,weight,price,time)values('%s', '%.3f', '%.3f','%s')",TABLES, name, weight, price,buf);
if(sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("%s\n", errmsg);
}
else
{
printf("Insert done.\n");
}
return 0;
}
int do_update_weight(sqlite3 *db,char *buf)
{
int id;
char sql[N] = {};
char *errmsg;
float weight;
printf("Input id:");
scanf("%d", &id);
printf("Input weight:");
scanf("%f", &weight);
sprintf(sql, "update '%s' set weight='%f',time='%s' where id=%d",TABLES, weight,buf,id);
if(sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("%s\n", errmsg);
}
else
{
printf("Delete done.\n");
}
return 0;
}
int do_update_price(sqlite3 *db)
{
float price;
int id;
char sql[N] = {};
char *errmsg;
printf("Input id:");
scanf("%d", &id);
printf("Input alter price:");
scanf("%f", &price);
sprintf(sql, "update '%s' set price='%f' where id=%d",TABLES , price,id);
if(sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("%s\n", errmsg);
}
else
{
printf("update done.\n");
}
return 0;
}
int callback(void *arg, int f_num, char ** f_value, char ** f_name)
{
int i = 0;
for(i = 0; i < f_num; i++)
{
// printf("%-8s %s", f_value[i], f_name[i]);
printf("%-8s", f_value[i]);
}
putchar(10);
puts("-----------------------------------------");
return 0;
}
int do_query(sqlite3 *db)
{
char *errmsg;
char sql[N] = {};
sprintf(sql,"select * from '%s';",TABLES);
if(sqlite3_exec(db, sql, callback,NULL , &errmsg) != SQLITE_OK)
{
printf("%s", errmsg);
}
else
{
printf("select done.\n");
}
return 0;
}
你可能感兴趣的:(数据库,数据库,sqlite,c语言)
Java后端开发技术详解
小二爱编程·
java 开发语言
Java作为一门成熟的编程语言,已广泛应用于后端开发领域。其强大的生态系统和广泛的支持库使得Java成为许多企业和开发者的首选后端开发语言。随着云计算、微服务架构和大数据技术的兴起,Java后端开发的技术栈也不断演进。本文将详细介绍Java后端开发的核心技术,包括Java基础、常见框架、数据库操作、缓存技术、异步编程等。1.Java基础:理解面向对象的编程Java是一种面向对象的编程语言,面向对象
后端安全可靠性
Small踢倒coffee_氕氘氚
python自学 笔记 经验分享
第一步应该提到参数化查询,也就是预编译语句。这是最有效的方法,比如用PDO或者预处理语句来分离数据和指令。然后,ORM框架也是一个好办法,因为它们通常自动处理参数化,减少手写SQL的机会。接下来,输入验证和过滤很重要。虽然不能完全依赖,但白名单验证比如只允许特定字符,或者转义特殊字符,比如MySQL的mysqli_real_escape_string。不过要注意转义不是绝对安全,尤其是不同数据库有
MyBatis注解——多对多
xingcsdnboke
MyBatis mybatis java spring
1、数据库建表语句CREATETABLE`user`(`id`int(11)DEFAULTNULL,`username`varchar(50)DEFAULTNULL);CREATETABLE`role`(`id`int(11)DEFAULTNULL,`rolename`varchar(50)DEFAULTNULL,`roledesc`varchar(50)DEFAULTNULL);CREATETA
MyBatis注解——一对一
xingcsdnboke
MyBatis mybatis java spring
1、订单对应用户:一对一,数据库CREATETABLE`orderinfo`(`id`int(11)DEFAULTNULL,`ordertime`datetimeDEFAULTNULL,`total`decimal(8,2)DEFAULTNULL,`uid`int(11)DEFAULTNULL);CREATETABLE`user`(`id`int(11)DEFAULTNULL,`username`
C语言-排序
<三木>
C/C++杂碎的知识点 c语言 算法 数据结构
C语言-排序冒泡排序选择排序冒泡排序两两比较,大的放后面。每比较一轮,记录交换的次数。当交换的次数为零时,则表示排序完成。chara[10]={9,5,1,2,4,7,6,8,3,0};9大于5交换59124768309大于1交换51924768309大于2交换51294768309大于4交换51249768309大于7交换51247968309大于6交换51247698309大于8交换51247
MyBatis——基于MyBatis注解的学生管理程序
基础较差的cs菜鸟
JavaEE实验 mybatis java mysql
MyBatis——基于MyBatis注解的学生管理程序Resourcedao层pojo层utils层测试层实验要求 本实验要求根据学生表在数据库中创建一个s_student表,根据班级表在数据库中创建一个c_class表,班级表c_class和学生表s_student是一对多的关系。实验内容表1学生表(s_student)学生编号(id)学生名称(name)学生年龄(age)所属班级(cid)1
MySQL 中 int (1) 和 int (10) 的区别详解
阿贾克斯的黎明
游戏开发 mysql 数据库
目录MySQL中int(1)和int(10)的区别详解在MySQL数据库的使用过程中,我们创建数据表时经常会用到整数类型,比如int。而细心的开发者可能会注意到,int后面可以跟一个数字,像int(1)和int(10),这两者到底有什么区别呢?今天我们就来深入探讨一下。在MySQL中,int类型后面括号里的数字M,代表的是显示宽度,最大取值为255。需要明确的是,这个显示宽度和该类型可以存储的范围
如何保证 Redis 缓存与数据库双写一致性?
凌志学java
后端数据库 缓存 redis 数据库
在做系统优化时,想到了将数据进行分级存储的思路。因为在系统中会存在一些数据,有些数据的实时性要求不高,比如一些配置信息。基本上配置了很久才会变一次。而有一些数据实时性要求非常高,比如订单和流水的数据。所以这里根据数据要求实时性不同将数据分为三级。第1级:订单数据和支付流水数据;这两块数据对实时性和精确性要求很高,所以不添加任何缓存,读写操作将直接操作数据库。第2级:用户相关数据;这些数据和用户相关
mysql8 本地安装my.ini 文件
求生之路
程序人生 mysql8 my.ini
[mysql]#设置mysql客户端默认字符集default-character-set=utf8[mysqld]default_authentication_plugin=mysql_native_password#设置3306端口port=3306#设置mysql的安装目录basedir=C:\ProgramFiles\mysql#设置mysql数据库的数据的存放目录,MySQL8+不需要以下
mysql数据库学号数据类型_MySQL数据库学习笔记(二)----MySQL数据类型
艾萨里昂之光
mysql数据库学号数据类型
【正文】上一章节中,我们学习了MySQL软件的安装,既然软件都装好了,现在就正式开始MySQL的基础知识的学习吧,即使是零基础,也要一步一个脚印。恩,首先要学习的就是MySQL的数据类型。一、数据类型:1、整型(xxxint)2、浮点型(float和double)3、定点数(decimal)4、字符串(char,varchar,xxxtext)5、二进制数据(xxxBlob)6、日期时间类型二、数
【MySQL】实战篇—数据库设计与实现:根据需求设计数据库架构
AI人H哥会Java
MySQL sql mysql 数据库
在设计数据库架构时,开发者需要遵循一系列步骤,以确保数据库能够高效、可靠地满足系统需求。以下是设计数据库架构的理论知识和步骤说明。1.需求分析需求分析是数据库设计的第一步,旨在理解系统的功能需求和数据需求。通过与利益相关者(如用户、开发人员和业务分析师)进行沟通,明确系统需要存储和管理的数据类型。步骤说明识别业务需求:确定系统的主要功能,例如用户管理、订单处理、库存管理等。收集数据需求:明确每个功
MySql的my.ini文件位置
货物搬运工
mysql 数据库 java
MySql的my.ini文件位置PS:搜了好多文章。说什么你在xx目录下没有my.ini文件就需要新建。简直是在恶心人。(他都不知道我咋按得就叫我新建,这不有什么大病么?)my.ini位置(这就是你数据库的数据存放目录)C:\ProgramData\MySQL\MySQLServer8.0由于我当时将两个安装位置相同(DataDirectory路径下最后没有\data),导致下面的DataDire
数据库原理实验报告:Powerdesigner建模E-R模型并转换表
不吃~香菜
各类实验报告汇总需要私 数据库 实验报告 Powerdesigner E-R模型建模
注:此实验并不完整,仅供参考,如需完整版请私我留言一、实验目的:二、实验工具:三、实验要求:四、实验过程:图文并茂,每一步都包含详细图片,总共11页word!往期回顾:计算机接口实验报告:8254定时/计数器应用实验-CSDN博客计算机接口实验报告:D/A转换实验-CSDN博客计算机接口实验报告:LED显示实验-CSDN博客数据库原理实验报告:Powerdesigner建模E-R模型并转换表一、实
一、MySQL8的my.ini文件
零度百事
MySQL8 MySQL my.ini my.cf
MySQL8.0.11的安装版本my.ini配置文件默认存放在:C:/ProgramFiles/MySQL/MySQLServer8.0/目录下;而MySQL8.0.11绿色免安装版本是没有my.ini配置文件,用户可以自行构建后,再通过my.ini进行数据库的相关配置一、MySQL8.0.11默认的my.ini#Otherdefaulttuningvalues#MySQLServerInstan
微信小程序的旅游服务助手 景点 酒店 旅游规划的设计与实现
QQ1304979694
微信小程序 旅游 小程序
文章目录具体实现截图本项目支持的技术语言研究思路、方法和步骤本系统开发思路主要软件与实现手段系统可行性分析源码获取详细视频演示:文章底部获取博主联系方式!!!!java类核心代码部分展示微信小程序技术现状源码获取/详细视频演示具体实现截图本项目支持的技术语言前端开发框架:vue.js+uniapp数据库mysql版本不限微信开发者工具/hbuiderx数据库工具:Navicat/SQLyog等都可
sql2019安装重启计算机失败,SQL SERVER 2019安装失败
小蛋子儿哦
Detailedresults:Feature:全文和语义提取搜索Status:失败Reasonforfailure:该功能的某个依赖项出错,导致该功能的安装过程失败。NextStep:使用以下信息解决错误,卸载此功能,然后再次运行安装过程。Componentname:SQLServer数据库引擎服务实例功能Componenterrorcode:0x80004005Errordescription
Java面试宝典,kafka优先级队列
m0_57081324
程序员 java 经验分享 面试
为什么要分库分表?首先回答一下为什么要分库分表,答案很简单:数据库出现性能瓶颈。用大白话来说就是数据库快扛不住了。数据库出现性能瓶颈,对外表现有几个方面:大量请求阻塞在高并发场景下,大量请求都需要操作数据库,导致连接数不够了,请求处于阻塞状态。SQL操作变慢如果数据库中存在一张上亿数据量的表,一条SQL没有命中索引会全表扫描,这个查询耗时会非常久。存储出现问题业务量剧增,单库数据量越来越大,给存储
探索数据库管理的新纪元:SQLAdmin - 易用的 SQLAlchemy 管理界面
孔祯拓Belinda
探索数据库管理的新纪元:SQLAdmin-易用的SQLAlchemy管理界面sqladminSQLAlchemyAdminforFastAPIandStarlette项目地址:https://gitcode.com/gh_mirrors/sq/sqladmin项目简介在数据管理和Web开发的世界里,SQLAdmin是一个创新性的开源项目,它为SQLAlchemy模型提供了一个灵活且直观的后台管理界
Oracle证书靠谱吗?值得考吗?
噗老师
Oracle认证 oracle 数据库
Oracle认证在数据库管理领域享有极高的声誉和价值,是许多专业人士职业生涯中的重要里程碑。那么,Oracle认证是否值得投入时间和精力去考取呢?这个问题的答案很大程度上取决于你的职业规划、个人兴趣和对未来的展望。首先,Oracle认证的价值还体现在其广泛的行业需求上。在金融、医疗、政府等多个行业中,对数据库管理和分析的依赖性日益增加,这导致了对Oracle专业人才的巨大需求。Oracle数据库在
基础实验3-2.4 出栈序列的合法性(栈和队列的运用c语言)
Feliz..
数据结构 数据结构
题目:给定一个最大容量为m的堆栈,将n个数字按1,2,3,...,n的顺序入栈,允许按任何顺序出栈,则哪些数字序列是不可能得到的?例如给定m=5、n=7,则我们有可能得到{1,2,3,4,5,6,7},但不可能得到{3,2,1,7,5,6,4}。输入格式:输入第一行给出3个不超过1000的正整数:m(堆栈最大容量)、n(入栈元素个数)、k(待检查的出栈序列个数)。最后k行,每行给出n个数字的出栈序
python flask 使用教程 快速搭建一个 Web 应用
莫忘初心丶
python flask 前端
目录一、Flask简介二、Flask安装三、创建一个简单的Flask应用四、Flask路由与视图五、接收和处理用户输入六、模板引擎Jinja2七、Flask与数据库八、总结一、Flask简介Flask是一个轻量级的PythonWeb框架,旨在帮助开发者快速搭建Web应用。相比于Django等重量级框架,Flask更加简洁和灵活,非常适合用于小型Web项目的开发,甚至可以用于构建RESTfulAPI
Oracle OCP认证是否值得考?
博睿谷IT99_
数据库 oracle 开闭原则 数据库
OracleOCP(OracleCertifiedProfessional)认证是数据库领域的传统权威认证,但随着云数据库和开源技术的崛起,其价值正面临分化。是否值得考取,需结合你的职业定位、行业需求及长期规划综合判断。以下是关键分析:一、什么情况下值得考?1.职业定位明确:扎根传统数据库领域适用人群:从事金融、电信、能源等传统行业的DBA(数据库管理员);需维护Oracle旧版本(如11g/12
【MySQL基础-10】MySQL中的LENGTH()函数:用法详解与实例分析
AllenBright
# MySQL mysql 数据库
在MySQL数据库中,LENGTH()函数是一个非常常用的字符串函数,用于计算字符串的字节长度。理解并掌握LENGTH()函数的用法,对于处理字符串数据、优化查询以及进行数据验证都非常有帮助。本文将详细介绍LENGTH()函数的用法,并通过实例演示其在实际中的应用。1.LENGTH()函数的基本语法LENGTH()函数的基本语法如下:LENGTH(str)str:要计算长度的字符串或字段。可以是字
MySQL的多租户和多云部署架构设计
vipfanxu
mysql 数据库
引言MySQL是一种流行的关系型数据库管理系统,被广泛应用于大型企业和云计算环境中。随着云计算的兴起,多租户和多云部署的需求逐渐增加。本文将探讨MySQL在多租户和多云部署架构设计方面的考虑和实践。一、多租户部署架构设计多租户是指在一个系统中,通过虚拟化技术将多个租户隔离开来,每个租户都拥有自己的独立环境和资源。在MySQL的多租户部署架构设计中,需要考虑以下几个方面:数据库隔离、数据安全和性能优
麒麟服务器操作系统Redis部署手册
太极淘
麒麟操作系统管理工具 服务器 redis 运维
软件简介Redis****介绍REmoteDIctionaryServer(Redis)是一个由SalvatoreSanfilippo写的key-value存储系统,是跨平台的非关系型数据库。Redis是一个开源的使用ANSIC语言编写、遵守BSD协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的API。Redis通常被称为数据结构服务器,因为
达梦主备集群部署
sunny05296
数据库 数据库 达梦
DM数据守护(DataWatch)介绍DM数据守护(DataWatch)是一种集成化的高可用、高性能数据库解决方案,是数据库异地容灾的首选方案。达梦数据守护可快速恢复服务,只需数秒时间就可以将备库切换为主库对外提供数据库服务。DM数据守护提供多种解决方案,可以配置成实时主备、MPP主备、DMDSC主备或读写分离集群。实时主备由一个主库以及一个或者多个配置了实时(Realtime)归档的备库组成,其
麒麟服务器操作系统PostgreSQL环境部署手册
太极淘
麒麟操作系统管理工具 linux 服务器
软件简介PostgreSQL是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。ORDBMS(对象关系数据库系统)是面向对象技术与传统的关系数据库相结合的产物,查询处理是ORDBMS的重要组成部分,它的性能优劣将直接影响到DBMS的性能。软件环境操作系统环境操作系统版本操作系统架构银河麒麟服务器操作系统V10SP系列X86-64银河麒麟服务器操作系统V10SP系列ARM
查询、插入、更新、删除数据的SQL语句(SQLite)
C++ 老炮儿的技术栈
sql c++ 算法 笔记 学习
以下以SQLite数据库为例,展示在C++中使用SQLite库来执行查询、插入、更新和删除数据的操作示例代码。首先确保你已经安装了SQLite库,并且在C++项目中包含了相关的头文件。#include#include#include//回调函数,用于查询结果处理staticintcallback(void*NotUsed,intargc,char**argv,char**azColName){fo
nebula graph传统使用Docker进行项目发版
boy快快长大
解决问题合集 Nebula Graph数据库 docker java 容器
nebulagraph传统使用Docker进行项目发版1.nebulagraph服务2.搭建ES集群3.注意事项3.1图数据库的启动顺序3.2模糊查询失效1.nebulagraph服务1.在测试服务器中执行如下命令dockercommit85b6e2b8xxxxxx_nebula_es:1.0.0.2执行dockerimages之后能看到新的镜像xxx_nebula_es:1.0.0.2这里将测试
GPU架构分类
大明者省
架构
一、NVIDIA的GPU架构NVIDIA是全球领先的GPU生产商,其GPU架构在图形渲染、高性能计算和人工智能等领域具有广泛应用。NVIDIA的GPU架构经历了多次迭代,以下是一些重要的架构:1.Tesla(特斯拉)架构(2006年发布)特点:NVIDIA推出的首个通用GPU计算架构,支持使用C语言进行GPU编程,标志着GPU开始从专用图形处理器转变为通用数据并行处理器。性能:具有128个流处理器
继之前的线程循环加到窗口中运行
3213213333332132
java thread JFrame JPanel
之前写了有关java线程的循环执行和结束,因为想制作成exe文件,想把执行的效果加到窗口上,所以就结合了JFrame和JPanel写了这个程序,这里直接贴出代码,在窗口上运行的效果下面有附图。
package thread;
import java.awt.Graphics;
import java.text.SimpleDateFormat;
import java.util
linux 常用命令
BlueSkator
linux 命令
1.grep
相信这个命令可以说是大家最常用的命令之一了。尤其是查询生产环境的日志,这个命令绝对是必不可少的。
但之前总是习惯于使用 (grep -n 关键字 文件名 )查出关键字以及该关键字所在的行数,然后再用 (sed -n '100,200p' 文件名),去查出该关键字之后的日志内容。
但其实还有更简便的办法,就是用(grep -B n、-A n、-C n 关键
php heredoc原文档和nowdoc语法
dcj3sjt126com
PHP heredoc nowdoc
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Current To-Do List</title>
</head>
<body>
<?
overflow的属性
周华华
JavaScript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
《我所了解的Java》——总体目录
g21121
java
准备用一年左右时间写一个系列的文章《我所了解的Java》,目录及内容会不断完善及调整。
在编写相关内容时难免出现笔误、代码无法执行、名词理解错误等,请大家及时指出,我会第一时间更正。
&n
[简单]docx4j常用方法小结
53873039oycg
docx
本代码基于docx4j-3.2.0,在office word 2007上测试通过。代码如下:
import java.io.File;
import java.io.FileInputStream;
import ja
Spring配置学习
云端月影
spring配置
首先来看一个标准的Spring配置文件 applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi=&q
Java新手入门的30个基本概念三
aijuans
java 新手 java 入门
17.Java中的每一个类都是从Object类扩展而来的。 18.object类中的equal和toString方法。 equal用于测试一个对象是否同另一个对象相等。 toString返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以便返回当前状态的正确表示.(toString 方法是一个很重要的方法) 19.通用编程:任何类类型的所有值都可以同object类性的变量来代替。
《2008 IBM Rational 软件开发高峰论坛会议》小记
antonyup_2006
软件测试 敏捷开发 项目管理 IBM 活动
我一直想写些总结,用于交流和备忘,然都没提笔,今以一篇参加活动的感受小记开个头,呵呵!
其实参加《2008 IBM Rational 软件开发高峰论坛会议》是9月4号,那天刚好调休.但接着项目颇为忙,所以今天在中秋佳节的假期里整理了下.
参加这次活动是一个朋友给的一个邀请书,才知道有这样的一个活动,虽然现在项目暂时没用到IBM的解决方案,但觉的参与这样一个活动可以拓宽下视野和相关知识.
PL/SQL的过程编程,异常,声明变量,PL/SQL块
百合不是茶
PL/SQL的过程编程 异常 PL/SQL块 声明变量
PL/SQL;
过程;
符号;
变量;
PL/SQL块;
输出;
异常;
PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言PL/SQL 是对 SQL 的扩展,sql的执行时每次都要写操作
Mockito(三)--完整功能介绍
bijian1013
持续集成 mockito 单元测试
mockito官网:http://code.google.com/p/mockito/,打开documentation可以看到官方最新的文档资料。
一.使用mockito验证行为
//首先要import Mockito
import static org.mockito.Mockito.*;
//mo
精通Oracle10编程SQL(8)使用复合数据类型
bijian1013
oracle 数据库 plsql
/*
*使用复合数据类型
*/
--PL/SQL记录
--定义PL/SQL记录
--自定义PL/SQL记录
DECLARE
TYPE emp_record_type IS RECORD(
name emp.ename%TYPE,
salary emp.sal%TYPE,
dno emp.deptno%TYPE
);
emp_
【Linux常用命令一】grep命令
bit1129
Linux常用命令
grep命令格式
grep [option] pattern [file-list]
grep命令用于在指定的文件(一个或者多个,file-list)中查找包含模式串(pattern)的行,[option]用于控制grep命令的查找方式。
pattern可以是普通字符串,也可以是正则表达式,当查找的字符串包含正则表达式字符或者特
mybatis3入门学习笔记
白糖_
sql ibatis qq jdbc 配置管理
MyBatis 的前身就是iBatis,是一个数据持久层(ORM)框架。 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis对JDBC进行了一次很浅的封装。
以前也学过iBatis,因为MyBatis是iBatis的升级版本,最初以为改动应该不大,实际结果是MyBatis对配置文件进行了一些大的改动,使整个框架更加方便人性化。
Linux 命令神器:lsof 入门
ronin47
lsof
lsof是系统管理/安全的尤伯工具。我大多数时候用它来从系统获得与网络连接相关的信息,但那只是这个强大而又鲜为人知的应用的第一步。将这个工具称之为lsof真实名副其实,因为它是指“列出打开文件(lists openfiles)”。而有一点要切记,在Unix中一切(包括网络套接口)都是文件。
有趣的是,lsof也是有着最多
java实现两个大数相加,可能存在溢出。
bylijinnan
java实现
import java.math.BigInteger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class BigIntegerAddition {
/**
* 题目:java实现两个大数相加,可能存在溢出。
* 如123456789 + 987654321
Kettle学习资料分享,附大神用Kettle的一套流程完成对整个数据库迁移方法
Kai_Ge
Kettle
Kettle学习资料分享
Kettle 3.2 使用说明书
目录
概述..........................................................................................................................................7
1.Kettle 资源库管
[货币与金融]钢之炼金术士
comsci
金融
自古以来,都有一些人在从事炼金术的工作.........但是很少有成功的
那么随着人类在理论物理和工程物理上面取得的一些突破性进展......
炼金术这个古老
Toast原来也可以多样化
dai_lm
android toast
Style 1: 默认
Toast def = Toast.makeText(this, "default", Toast.LENGTH_SHORT);
def.show();
Style 2: 顶部显示
Toast top = Toast.makeText(this, "top", Toast.LENGTH_SHORT);
t
java数据计算的几种解决方法3
datamachine
java hadoop ibatis r-langue r
4、iBatis
简单敏捷因此强大的数据计算层。和Hibernate不同,它鼓励写SQL,所以学习成本最低。同时它用最小的代价实现了计算脚本和JAVA代码的解耦,只用20%的代价就实现了hibernate 80%的功能,没实现的20%是计算脚本和数据库的解耦。
复杂计算环境是它的弱项,比如:分布式计算、复杂计算、非数据
向网页中插入透明Flash的方法和技巧
dcj3sjt126com
html Web Flash
将
Flash 作品插入网页的时候,我们有时候会需要将它设为透明,有时候我们需要在Flash的背面插入一些漂亮的图片,搭配出漂亮的效果……下面我们介绍一些将Flash插入网页中的一些透明的设置技巧。
一、Swf透明、无坐标控制 首先教大家最简单的插入Flash的代码,透明,无坐标控制: 注意wmode="transparent"是控制Flash是否透明
ios UICollectionView的使用
dcj3sjt126com
UICollectionView的使用有两种方法,一种是继承UICollectionViewController,这个Controller会自带一个UICollectionView;另外一种是作为一个视图放在普通的UIViewController里面。
个人更喜欢第二种。下面采用第二种方式简单介绍一下UICollectionView的使用。
1.UIViewController实现委托,代码如
Eos平台java公共逻辑
蕃薯耀
Eos平台java公共逻辑 Eos平台 java公共逻辑
Eos平台java公共逻辑
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月1日 17:20:4
SpringMVC4零配置--Web上下文配置【MvcConfig】
hanqunfeng
springmvc4
与SpringSecurity的配置类似,spring同样为我们提供了一个实现类WebMvcConfigurationSupport和一个注解@EnableWebMvc以帮助我们减少bean的声明。
applicationContext-MvcConfig.xml
<!-- 启用注解,并定义组件查找规则 ,mvc层只负责扫描@Controller -->
<
解决ie和其他浏览器poi下载excel文件名乱码
jackyrong
Excel
使用poi,做传统的excel导出,然后想在浏览器中,让用户选择另存为,保存用户下载的xls文件,这个时候,可能的是在ie下出现乱码(ie,9,10,11),但在firefox,chrome下没乱码,
因此必须综合判断,编写一个工具类:
/**
*
* @Title: pro
挥洒泪水的青春
lampcy
编程 生活 程序员
2015年2月28日,我辞职了,离开了相处一年的触控,转过身--挥洒掉泪水,毅然来到了兄弟连,背负着许多的不解、质疑——”你一个零基础、脑子又不聪明的人,还敢跨行业,选择Unity3D?“,”真是不自量力••••••“,”真是初生牛犊不怕虎•••••“,••••••我只是淡淡一笑,拎着行李----坐上了通向挥洒泪水的青春之地——兄弟连!
这就是我青春的分割线,不后悔,只会去用泪水浇灌——已经来到
稳增长之中国股市两点意见-----严控做空,建立涨跌停版停牌重组机制
nannan408
对于股市,我们国家的监管还是有点拼的,但始终拼不过飞流直下的恐慌,为什么呢?
笔者首先支持股市的监管。对于股市越管越荡的现象,笔者认为首先是做空力量超过了股市自身的升力,并且对于跌停停牌重组的快速反应还没建立好,上市公司对于股价下跌没有很好的利好支撑。
我们来看美国和香港是怎么应对股灾的。美国是靠禁止重要股票做空,在
动态设置iframe高度(iframe高度自适应)
Rainbow702
JavaScript iframe contentDocument 高度自适应 局部刷新
如果需要对画面中的部分区域作局部刷新,大家可能都会想到使用ajax。
但有些情况下,须使用在页面中嵌入一个iframe来作局部刷新。
对于使用iframe的情况,发现有一个问题,就是iframe中的页面的高度可能会很高,但是外面页面并不会被iframe内部页面给撑开,如下面的结构:
<div id="content">
<div id=&quo
用Rapael做图表
tntxia
rap
function drawReport(paper,attr,data){
var width = attr.width;
var height = attr.height;
var max = 0;
&nbs
HTML5 bootstrap2网页兼容(支持IE10以下)
xiaoluode
html5 bootstrap
<!DOCTYPE html>
<html>
<head lang="zh-CN">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">