文章目录
SQLite数据库
数据库基本概念
常用的数据库
基于嵌入式的数据库
SQLite 基础
sqlite3数据库的安装
创建数据库
数据库常用命令介绍
系统命令,都以' . '开头
显示所有命令
退出sqlite3
显示当前打开的数据库文件
显示数据库中所有表名
显示数据库表的结构
打开(创建)一个sqlite3数据库文件
SQL命令,不以".“开头,但以”;"结束
创建一张表
向表中添加新记录
查询表中记录
按指定条件删除表中记录
更新表中记录(修改)
在表中添加字段
在表中删除字段
删除表
SQLite编程接口
打开(或创建)sqlite数据库
关闭数据库sqlite数据库
得到错误信息的描述
执行SQL操作
不使用回调函数执行SQL语句(操作)
代码示例
SQLite数据库
数据库基本概念
数据(Data)
能够输入计算机并能被计算机程序识别和处理的信息集合
数据库 (Database)
数据库是在 数据库管理系统管理 和控制之下,存放在存储介质上的数据集合
常用的数据库
大型数据库
Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作系统平台。目前Oracle关系数据库产品的市场占有率名列前茅。 IBM 的DB2是第一个具备网上功能的多媒体关系数据库管理系统,支持包Linux在内的一系列平台。
中型数据库
Server是微软开发的数据库产品,主要支持windows平台。
小型数据库
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;
比目前流行的大多数数据库对数据的操作要快;
sqlite3数据库的安装
本地安装
libsqlite3-0_3.7.2-1ubuntu0.1_i386.deb sqlite3_3.7.2-1ubuntu0.1_i386.deb libsqlite3-dev_3.7.2-1ubuntu0.1_i386.deb
sudo dpkg -i *.deb
在线安装
sudo apt-get install sqlite3
安装成功显示
在终端输入sqlite3,出现如下信息,表示安装成功
linux@linux:~/Desktop/SQL/test$ sqlite3
SQLite version 3.7.2
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
创建数据库
手工创建 使用SQLite3工具,通过手工输入SQL命令行完成数据库创建. 用户在Linux的命令行界面中输入SQLite3可启动SQLite3工具
代码创建 在代码中常动态创建数据库 在程序运行过程中,当需要进行数据库操作时,应用程序会首先尝试打开数据库,此时如果数据库并不存在,程序则会自动建立数据库,然后再打开数据库
数据库常用命令介绍
系统命令,都以’ . '开头
显示所有命令
sqlite> .help
退出sqlite3
sqlite> .quit
显示当前打开的数据库文件
sqlite> .database
显示数据库中所有表名
sqlite>.table
显示数据库表的结构
sqlite>.schema
打开(创建)一个sqlite3数据库文件
在终端下运行sqlite3 <*.db>,出现如下提示符 ·SQLite version 3.7.2 ·Enter “.help” for instructions ·Enter SQL statements terminated with a “;” ·sqlite>
<*.db> 是要打开的数据库文件。若该文件不存在,则自动创建
linux@linux:~/Desktop/SQL/test$ sqlite3 student.db
SQLite version 3.7.2
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .schema
CREATE TABLE stu(id integer, name char, socre integer);
sqlite> .schema stu
CREATE TABLE stu(id integer, name char, socre integer);
sqlite>
SQL命令,不以".“开头,但以”;"结束
创建一张表
语法格式
create table 表名 (字段名1 字段类型1, 字段名2 字段类型2, …) ;
代码示例
sqlite> create table stu (id integer, name char, socre integer);
sqlite> .schema
CREATE TABLE stu (id integer, name char, socre integer);
向表中添加新记录
语法格式
insert into 表名 (字段1, 字段2, …) values (字段1的值, 字段2的值, …) ;
代码示例
sqlite> insert into stu values(1001,"张三",88);
sqlite> insert into stu values(1002,"李四",88);
sqlite> insert into stu values(1002,"王五",88);
sqlite> insert into stu values(1002,"赵六",88);
查询表中记录
查询所有字段 语法格式 sqlite>select * from ;
sqlite> select * from stu;
1001|张三|88
1002|李四|88
1002|王五|88
1002|赵六|88
|王五|96
查询指定的字段 select name,score from ;
sqlite> select name from stu;
张三
李四
王五
赵六
王五
sqlite> select id from stu;
1001
1002
1002
1002
按条件查询数据库中的内容 sqlite>select * from where < expression> select * from stu where score = 80; select * from stu where score = 80 and name= ‘张三’; select * from stu where score = 80 or name=‘王五’; select * from stu where score >= 85 and score < 90;
select * from stu where id = 1001 ;
1001|张三|88
select * from stu where socre = 88 ;
1001|张三|88
1002|李四|88
1002|王五|88
1002|赵六|88
按指定条件删除表中记录
语法格式
sqlite>delete from where
不加where会删除整张表
sqlite> select * from stu;
1001|张三|88
1002|李四|88
1002|王五|88
1002|赵六|88
|王五|96
sqlite> delete from stu where name="王五"and socre=96 ;
sqlite> select * from stu;
1001|张三|88
1002|李四|88
1002|王五|88
1002|赵六|88
更新表中记录(修改)
语法格式
sqlite>update set , … where ;
sqlite> update stu set id=1012 where name="王五";
sqlite> select * from stu;
1001|张三|88
1002|李四|88
1012|王五|88
1002|赵六|88
在表中添加字段
语法格式
sqlite>alter table add column default …;
sqlite> alter table stu add column address char;
sqlite> .schema
CREATE TABLE stu (id integer, name char, socre integer, address char);
sqlite> update stu set address="北京";
sqlite> select * from stu;
1001|张三|88|北京
1002|李四|88|北京
1012|王五|88|北京
1002|赵六|88|北京
在表中删除字段
语法格式 Sqlite中不允许删除字段,可以通过下面步骤达到同样的效果
sqlite> create table stu as select no, name, score from student //创建一张新的表
sqlite> drop table student // 删除原有的表
sqlite> alter table stu rename to student // 将新的表的名字改成原有的旧表名字
sqlite> create table stu1 as select id,name,socre,address from stu;
sqlite> .table
stu stu1
sqlite> drop table stu;
sqlite> alter table stu1 rename to stu;
sqlite> select *from stu;
1001|张三|88|北京
1002|李四|88|北京
1012|王五|88|北京
1002|赵六|88|北京
删除表
语法格式 sqlite>drop table
SQLite编程接口
打开(或创建)sqlite数据库
int sqlite3_open(
const char *filename, /* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: SQLite db handle */
);
参数: filename:数据库文件路径 ppDb: 指向sqlite句柄的指针(数据库的操作句柄)
返回值 如果成功打开(和/或创建)数据库,则 返回SQLITE_OK。否则返回错误代码
int sqlite3_open(
const char * filename,/ *数据库文件名(UTF-8)* /
sqlite3 ** ppDb / * OUT:SQLite数据库句柄* /
);
int sqlite3_open16(
const void * filename,/ *数据库文件名(UTF-16)* /
sqlite3 ** ppDb / * OUT:SQLite数据库句柄* /
);
int sqlite3_open_v2(
const char * filename,/ *数据库文件名(UTF-8)* /
sqlite3 ** ppDb,/ * OUT:SQLite数据库句柄* /
int flags,/ *标志* /
const char * zVfs / *要使用的VFS模块的名称* /
);
关闭数据库sqlite数据库
int sqlite3_close(sqlite3 *db);
功能:关闭sqlite数据库
返回值:成功返回0,失败返回错误码
得到错误信息的描述
const char *sqlite3_errmg(sqlite3 *db);
执行SQL操作
typedef int (*sqlite3_callback)(void *, int, char **, char **);
int sqlite3_exec(sqlite3 *db, const char *sql, sqlite3_callback callback, void *, char **errmsg);
不使用回调函数执行SQL语句(操作)
int sqlite3_get_table(sqlite3 *db, const char *sql, char ***resultp, int*nrow, int *ncolumn, char **errmsg);
功能:执行SQL操作
db:数据库句柄
sql:SQL语句
resultp:用来指向sql执行结果的指针
nrow:满足条件的记录的数目
ncolumn:每条记录包含的字段数目
errmsg:错误信息指针的地址
返回值:成功返回0,失败返回错误码
代码示例
#include
#include
#include
#include
#define DATABASE "./student.db"
#define N 128
int do_insert(sqlite3 *db);
int do_query(sqlite3 *db);
int do_delete(sqlite3 *db);
int do_update(sqlite3 *db);
int main(int argc, const char *argv[])
{
sqlite3 *db;
//创建数据库
if(sqlite3_open(DATABASE, &db) != SQLITE_OK )
{
printf("%s\n",sqlite3_errmsg(db));
return -1;
}
else
{
printf(" Open DATABASE Success \n");
}
char *errmsg = NULL;
//创建一张数据库的表格
if(sqlite3_exec(db, "create table if not exists stu(id int, name char, sex char, score int);", NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("%s\n",errmsg);
}
else
{
printf("Create or Open Table Success.\n");
}
int input_cmd;
while(1)
{
printf("********************************************\n");
printf("1: insert 2:query 3:delete 4:update 5:quit\n");
printf("********************************************\n");
printf("Please select:");
scanf("%d", &input_cmd);
getchar();
switch(input_cmd)
{
case 1:
do_insert(db);
break;
case 2:
//do_query(db);
do_query1(db);
break;
case 3:
do_delete(db);
break;
case 4:
do_update(db);
break;
case 5:
printf("main exit \n");
sqlite3_close(db);
exit(0);
break;
default:
printf("Input Error Cmd !!!\n ");
break;
}
}
return 0;
}
int do_insert(sqlite3 *db)
{
int id;
printf("Input id:");
scanf("%d",&id);
char name[32] = {};
printf("Input name:");
scanf("%s",name);
char sex[10] = {};
printf("Input sex:");
scanf("%s",&sex);
int score;
printf("Input score:");
scanf("%d",&score);
char sql[N] = {};
sprintf(sql,"insert into stu values(%d,'%s','%s','%d');", id, name, sex, score);
char *errmsg = NULL;
if(sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("%s\n", errmsg);
}
else
{
printf("Insert done\n");
}
return 0;
}
int callback(void* arg,int ncolumns ,char** f_value,char** f_name)
{
int i=0;
// printf("col = %d\n",ncolumns);
for(i=0; i%s\n", __func__, __LINE__, errmsg);
}
else
{
printf("Query done.\n");
}
return 0;
}
int do_query1(sqlite3 *db)
{
char** resultp;
char *errmsg;
int nrow;
int ncolumn;
if(sqlite3_get_table(db, "select * from stu;", &resultp, &nrow, &ncolumn, &errmsg) != SQLITE_OK)
{
printf("%s\n",errmsg);
return -1;
}
else
{
printf("query done.\n");
}
int i = 0;
int j = 0;
int index = ncolumn;
for(j=0; j
你可能感兴趣的:(SQL数据库)
nosql数据库技术与应用知识点
皆过客,揽星河
NoSQL nosql 数据库 大数据 数据分析 数据结构 非关系型数据库
Nosql知识回顾大数据处理流程数据采集(flume、爬虫、传感器)数据存储(本门课程NoSQL所处的阶段)Hdfs、MongoDB、HBase等数据清洗(入仓)Hive等数据处理、分析(Spark、Flink等)数据可视化数据挖掘、机器学习应用(Python、SparkMLlib等)大数据时代存储的挑战(三高)高并发(同一时间很多人访问)高扩展(要求随时根据需求扩展存储)高效率(要求读写速度快)
[转载] NoSQL简介
weixin_30325793
大数据 数据库 运维
摘自“百度百科”。NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。虽然NoSQL流行语
Python实现mysql命令行
xu-jssy
python mysql adb
一、源码importosimportpymysqldefsql_shell():password=input("EnterPassword:")#访问密码ifpassword.strip()!="yyds":print("Bye")return#清空控制台输出os.system("cls"ifos.name=="nt"else"clear")try:#连接到MySQL数据库conn=pymysql
mysql 隐秘后门_【技术分享】CVE-2016-5483:利用mysqldump备份可生成后门
Toby Dai
mysql 隐秘后门
预估稿费:100RMB投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿前言mysqldump是用来创建MySQL数据库逻辑备份的一个常用工具。它在默认配置下可以生成一个.sql文件,其中包含创建/删除表和插入数据等。在导入转储文件的时候,攻击者可以通过制造恶意表名来实现任意SQL语句查询和shell命令执行的目的。另一个与之相关的漏洞利用场景可以参考。攻击场景攻击者已经能够访问
MySQL MHA
pokemon..
mysql 数据库
一、MySQLMHA高可用环境概述1.什么是MHAMHA(MasterHighAvailability)是一款用于MySQL数据库集群的高可用解决方案,主要解决MySQL单点故障问题。在MySQL集群的主服务器发生故障时,MHA可以自动执行故障切换,将一个从服务器提升为新的主服务器,最大限度地保证数据的一致性。MHA的切换时间通常在0-30秒之间,极大提高了MySQL集群的可用性。2.MHA的组成
超级无敌详细的Mysql数据库笔记(基础篇版)
当大哥爱上学习
mysql 数据库 笔记
注:本篇笔记根据黑马程序员MySQL数据库入门到精通的内容所创建,适合复习和结合该视频学习使用。一.基础1.关系型数据库(RDBMS)概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。特点:使用表存储数据,格式统一,便于维护使用SQL语言操作,标准统一,使用方便。2.SQLSQL通用语法SQL语句可以单行或多行书写,以分号结尾.SQL语句可以使用空格/缩进来增强语句的可读性。MySQ
MySQL数据库全面学习之(上篇)
一心只为学
数据库 mysql 学习
Windows服务--启动MySQLnetstartmysql--创建Windows服务sccreatemysqlbinPath=mysqld_bin_path(注意:等号与值之间有空格)连接与断开服务器mysql-h地址-P端口-u用户名-p密码SHOWPROCESSLIST--显示哪些线程正在运行SHOWVARIABLES--显示系统变量信息数据库操作--查看当前数据库SELECTDATABA
Mall4j商城实战 - 部署 canal 数据库增量日志解析
yueerba126
Mall4j商城实战 数据库 spring cloud 微服务 架构
Canal简介Canal是基于MySQL数据库增量日志解析的工具,主要用于增量数据的订阅和消费。Canal主要用途基于MySQL数据库增量日志解析详细功能:实时解析MySQL的二进制日志(Binlog)。捕获数据库中的所有增量变更,如插入、更新和删除操作。使用场景:适用于实时监控数据库变化的应用,比如数据复制、数据备份或实时数据分析等。提供增量数据订阅和消费服务
解决 PostgreSQL的uuid_generate_v4() 不存在异常
这是然少
PostgreSQL postgresql 数据库
详细的异常信息如下所示:>错误:函数uuid_generate_v4()不存在导致这个问题的原因就是,uuid_generate_v4()这个uuid函数默认的是在Postgresql扩展中的,数据库迁移后,extension扩展就没有了,需要重新安装。有3种方法可以让PostgreSQL数据库支持uuid_generate_v4()或uuid_generate_v1()函数。方案一安装uuid-
mysql数据库配置环境变量
一只会敲代码的小灰灰
数据库 mysql 数据库
mysql数据库配置环境变量这是我最初学习时记录下来的笔记,有些简陋!1.下载最新版mysql软件,将mysql安装到系统目录中,记录当前安装目录;如安装mysql到C:/programfiles/mysql目录下2.打开win7系统——计算机——系统属性3.点击环境变量,进入环境变量设置菜单4.选中系统变量中的“path”,在path值开头处输入:C:\programfiles\mysql\bi
MySQL数据库——多表查询
L_earning_
MySQL 数据库 mysql sql
本文采用SQL99语法。所适用的相关例子及数据来源于尚硅谷。写在前面为什么需要建立多个数据表?减少数据冗余提高运行速度减轻数据库维护工作量提高工作效率,多个数据表可以同时被调用等一、多表查询1.1多表查询的分类1.1.1等值连接vsvsvs非等值连接等值连接#查询员工的employee_id,last_name,department_name,citySELECTemp.employee_id,e
基于springboot+vue的“考研资讯平台”程序设计实现【毕业论文,源码】
一枚务实的码农
毕业设计 毕设 考研 spring boot 毕业论文 系统源码
摘要随着现在网络的快速发展,网络的应用在各行各业当中它很快融入到了许多学校的眼球之中,他们利用网络来做这个电商的服务,随之就产生了“考研资讯平台”,这样就让学生考研资讯平台更加方便简单。对于本考研资讯平台的设计来说,它主要是采用java技术。在整个系统的设计当中它是应用mysql数据库来完成的,具体根据网上考研资讯平台的现状来进行开发的,具体根据学生需求实现网上考研资讯平台网络化的管理,各类信息有
微服务开发实战(七)
禅大师
PostgreSQL下载安装在程序开发中,需要使用到数据库。目前.NETCore支持MSSQLServer,MySQL,PostgreSQL,Oracle等多种数据库。在本教程中,使用的是免费开源、跨平台、功能完善、性能强大的PostgreSQL数据库。可以直接访问官方网站https://www.postgresql.org/下载安装,或者从第三方网站https://www.openscg.com
大三时MySQL课程设计《MySQL集群的研究与实现》
weixin_30908941
数据库 嵌入式 php
河南中医学院《MySQL数据库管理》课程设计报告题目:MySQL集群的研究与实现完成日期:2012年12月31日目录1.课程设计题目概述.32.研究内容与目的.33.研究方法.43.1研究方法………………………………………………………………………..43.2实验方法…………………………………………………………………………53.3可行性分析..…………………………………………………………………………
监控易监测对象及指标之:全面监控MySQL数据库
MXsoft618
智能运维管理系统 智能运维管理平台 运维管理软件 服务器
随着企业信息化建设的不断深入,数据库作为核心数据资产的管理中心,其性能和稳定性直接关系到业务的连续性和企业的运营效率。MySQL作为广泛使用的开源关系型数据库管理系统,其稳定性和性能对于保障业务连续性至关重要。为了确保MySQL数据库的稳定运行和高效性能,对其进行全面监控显得尤为重要。本文基于监控易工具,对MySQL的监测指标进行解读,并探讨如何通过监控来优化数据库性能。一、连通性与响应时间监测连
MYSQL数据库进阶篇——SQL优化
Cedric_Anik
MySQL数据库 数据库 mysql sql
1.插入数据优化①批量插入数据②手动提交事务③主键顺序插入大批量插入数据:2.主键优化数据组织方式页分裂:页可以为空,也可以填充一半,也可以填满,每个页包含2-N行数据,如果一行数据过大,就会行溢出。例如:页合并当删除一行数据时,实际记录并没有被物理删除,只是记录被标记为删除,并且它的空间变得允许被其他记录声明使用MERGE_THRESHOLD:合并页的阈值,在创建表或者创建索引时指定。主键设计原
MySQL数据库--分组与统计
pzn)
MySQL数据库 数据库 mysql sql
目录1.统计函数1.1COUNT()函数1.2SUM()函数1.3AVG()函数1.4MAX()函数1.5MIN()函数2.分组查询2.1单独使用GROUPBY分组查询2.2使用GROUPBY分组和统计函数一起查询2.3HAVING限制分组查询结果欢迎1.统计函数有时我们要的不是数据表中的原始数据,而是需要进行一点简单加工后的统计数据。函数功能描述COUNT()统计数据表中记录的行数SUM()计算
MySQL修改默认数据存储路径
新手村的0级玩家
0.前言最近在MySQL数据库里操作了大批量的数据,电脑开始变卡,经查询发现是因为C盘被MySQL数据存储文件占用了很多空间,所以,将MySQL默认的数据存储路径进行修改,整理记录如下1.操作步骤1.1停止MySQL服务1.2修改默认数据存储路径(修改mysql安装路径下的my.ini文件)1.3将原始数据存储文件整体剪切到新路径下1.4启动MySQL服务
『 MySQL数据库 』聚合统计
Dio夹心小面包
数据库 数据库 mysql
文章目录前言聚合函数COUNT()查询数据数量SUM()查询数据总和AVG()查询数据平均值MAX()查询数据最大值MIN()查询数据最小值数据分组GROUPBY子句GROUPBY示例HAVING语句前言在MySQL中存在一种查询方式叫做聚合查询;聚合查询顾名思义就是将一组数据的同种类型进行聚合,那么既然是一组同类型的数据那么即必须要对该数据进行分组同时再对这组数据进行聚合;所以对于聚合查询来说时
旅游网站设计与实现:SpringBoot框架案例分析
2401_85763803
旅游 spring boot 后端
目录摘要2Abstract31.1课题开发的背景41.2课题研究的意义41.3研究内容5第二章系统开发关键技术62.1JSP技术介绍62.2JAVA简介62.3MyEclipse开发环境72.4Tomcat服务器72.5SpringBoot框架72.6MySQL数据库8第三章系统分析93.1系统可行性研究93.2性能分析103.3业务流程分析10第四章系统的总体设计134.1系统功能结构设计134
Excel数据导入MySQL数据库的完整指南
Aries263
数据库 excel mysql
在日常的数据处理工作中,经常需要将Excel中的数据导入到MySQL数据库中,以便进行进一步的数据分析和管理。本文将详细介绍如何将Excel数据导入MySQL数据库的完整步骤,包括数据准备、数据库连接、数据导入以及验证等关键步骤。一、准备工作1.准备Excel数据首先,确保你的Excel表格中的数据格式正确。日期应使用YYYY-MM-DD格式,数字应使用数值格式,文本应使用文本格式。这有助于避免在
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡方法选择全攻略(2-2)
青云交
大数据新视界 Java技术栈 Java性能优化 数据库 高可用性架构 负载均衡 业务规模 预算限制 可扩展性 技术团队能力 数据安全性 系统复杂性 行业特点 硬件负载均衡器 Nginx HAProxy
亲爱的朋友们,热烈欢迎你们来到青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而我的博客,正是这样一个温暖美好的所在。在这里,你们不仅能够收获既富有趣味又极为实用的内容知识,还可以毫无拘束地畅所欲言,尽情分享自己独特的见解。我真诚地期待着你们的到来,愿我们能在这片小小的天地里共同成长,共同进步。本博客的精华专栏:Ja
InnoDB内部结构
小园子的小菜
mysql java mysql 后端
在mysql数据库中,InnoDB存储引擎是最为常用和强大的存储引擎之一。了解InnoDB的内存结构对于优化数据库的性能,提高系统的稳定性和扩展性至关重要。本文将深入探讨InnoDB的内存结构。1.BufferPoolBufferPool:缓冲池,其作用是用来缓存表数据和索引数据,可以看作是数据库的高速缓存,可以减少磁盘的I/O操作,提高数据库的访问性能。BufferPool由缓存数据页(Page
Java学习之路:实践项目与进阶学习--创建一个图书管理系统
Dreams°123
java 数据库 开发语言 spring spring boot intellij idea intellij-idea
前言:上一篇学习了入门级知识,留了一份作业,其实创建一个图书管理系统是一个很好的实践项目,可以帮助你掌握数据库操作、前端开发和基本的CRUD(创建、读取、更新、删除)操作,数据库存储书籍信息,以及一个基本的用户界面。项目结构后端:使用Java和SpringBoot实现RESTfulAPI。数据库:使用H2数据库进行书籍信息存储。(也可使用mysql数据库设计,详情可参考:《MySQL数据库课程设计
数据库——MySQL概述
Feelings◎
数据库 mysql oracle
一、数据库存储数据的仓库,数据是有组织的存储,简称database(DB)二、数据库管理系统操控和管理数据库的大型软件(DBMS)三、SQL操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准(SQL)四、MySQL数据库1、启动与停止a.win+r——输入services.msc——下划找到MySQL80(右键启动和停止)b.启动netstartmysql80停止netstopmysq
MySQL 常见关键字详解:初学者指南
Mr_Paizong
MySQL 数据库 mysql
MySQL常见关键字详解:初学者指南在MySQL数据库的学习中,掌握常用的SQL关键字是基础和关键。这些关键字用于定义、管理和操作数据库中的数据。为了帮助初学者更好地理解和记忆这些关键字,我们可以根据其功能将它们进行分类。关键字分类1.数据查询关键字用于从数据库中检索和查看数据。SELECT:用于选择和提取数据。WHERE:用于过滤查询结果。ORDERBY:用于对查询结果进行排序。GROUPBY:
MySQL 数据库:原理、应用与发展
专家大圣
数据库 数据库 mysql
摘要:本文深入探讨了MySQL数据库相关内容。首先介绍了MySQL作为开源关系型数据库管理系统的显著特点,包括易用性、跨平台性、高性能、可扩展性、开源免费以及数据安全性等方面。接着详细阐述了其安装与配置过程,涵盖在不同操作系统上的安装方式、配置文件参数的含义与设置,以及字符集和校对规则的设定。文中进一步讲解了MySQL的基本概念,如数据库与表的构成、多种数据类型、不同索引类型的特点与应用场景。并对
LAMP架构介绍及配置
戒为良药~
架构
1.LAMP简介与概述1.1LAMP平台概述LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP(或perl,Python)网页编程语言1.2LAMP各组件作用(平台)Linux:作为LAMP架构的基础,提供用于支撑Web
LAMP 架构
Lyle_Tu
Linux 云计算运维 架构 linux 云计算 云原生 paas nginx
什么是LAMP架构?LAMP架构是指一种常用的Web应用程序开发和部署架构,由四个主要组件组成,分别是Linux操作系统、ApacheWeb服务器、MySQL数据库以及PHP编程语言,它们的首字母缩写组成了LAMP。LAMP架构的主要优点是:所有组成产品均是开源软件,可以节省成本和提高安全性。LAMP架构具有Web资源丰富、轻量、快速开发等特点,适合搭建各种动态网站和应用LAMP架构具有通用、跨平
python----使用sqlalchemy操作mysql数据库
cheerfulCoder
python
准备使用sqlalchemy前要先安装pymysql数据库我是使用docker快速创建的现在已经运行起来了开始1.创建表格fromsqlalchemyimportcreate_engine#初始化连接使用sqlalchemy时要先安装pymysql否则连接失败engine=create_engine('mysql+pymysql://root:
[email protected] /user',
mysql主从数据同步
林鹤霄
mysql主从数据同步
配置mysql5.5主从服务器(转)
教程开始:一、安装MySQL
说明:在两台MySQL服务器192.168.21.169和192.168.21.168上分别进行如下操作,安装MySQL 5.5.22
二、配置MySQL主服务器(192.168.21.169)mysql -uroot -p &nb
oracle学习笔记
caoyong
oracle
1、ORACLE的安装
a>、ORACLE的版本
8i,9i : i是internet
10g,11g : grid (网格)
12c : cloud (云计算)
b>、10g不支持win7
&
数据库,SQL零基础入门
天子之骄
sql 数据库入门 基本术语
数据库,SQL零基础入门
做网站肯定离不开数据库,本人之前没怎么具体接触SQL,这几天起早贪黑得各种入门,恶补脑洞。一些具体的知识点,可以让小白不再迷茫的术语,拿来与大家分享。
数据库,永久数据的一个或多个大型结构化集合,通常与更新和查询数据的软件相关
pom.xml
一炮送你回车库
pom.xml
1、一级元素dependencies是可以被子项目继承的
2、一级元素dependencyManagement是定义该项目群里jar包版本号的,通常和一级元素properties一起使用,既然有继承,也肯定有一级元素modules来定义子元素
3、父项目里的一级元素<modules>
<module>lcas-admin-war</module>
<
sql查地区省市县
3213213333332132
sql mysql
-- db_yhm_city
SELECT * FROM db_yhm_city WHERE class_parent_id = 1 -- 海南 class_id = 9 港、奥、台 class_id = 33、34、35
SELECT * FROM db_yhm_city WHERE class_parent_id =169
SELECT d1.cla
关于监听器那些让人头疼的事
宝剑锋梅花香
画图板 监听器 鼠标监听器
本人初学JAVA,对于界面开发我只能说有点蛋疼,用JAVA来做界面的话确实需要一定的耐心(不使用插件,就算使用插件的话也没好多少)既然Java提供了界面开发,老师又要求做,只能硬着头皮上啦。但是监听器还真是个难懂的地方,我是上了几次课才略微搞懂了些。
JAVA的遍历MAP
darkranger
map
Java Map遍历方式的选择
1. 阐述
对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率。那么实际情况如何呢?
为了解遍历性能的真实差距,包括在遍历ke
POJ 2312 Battle City 优先多列+bfs
aijuans
搜索
来源:http://poj.org/problem?id=2312
题意:题目背景就是小时候玩的坦克大战,求从起点到终点最少需要多少步。已知S和R是不能走得,E是空的,可以走,B是砖,只有打掉后才可以通过。
思路:很容易看出来这是一道广搜的题目,但是因为走E和走B所需要的时间不一样,因此不能用普通的队列存点。因为对于走B来说,要先打掉砖才能通过,所以我们可以理解为走B需要两步,而走E是指需要1
Hibernate与Jpa的关系,终于弄懂
avords
java Hibernate 数据库 jpa
我知道Jpa是一种规范,而Hibernate是它的一种实现。除了Hibernate,还有EclipseLink(曾经的toplink),OpenJPA等可供选择,所以使用Jpa的一个好处是,可以更换实现而不必改动太多代码。
在play中定义Model时,使用的是jpa的annotations,比如javax.persistence.Entity, Table, Column, OneToMany
酸爽的console.log
bee1314
console
在前端的开发中,console.log那是开发必备啊,简直直观。通过写小函数,组合大功能。更容易测试。但是在打版本时,就要删除console.log,打完版本进入开发状态又要添加,真不够爽。重复劳动太多。所以可以做些简单地封装,方便开发和上线。
/**
* log.js hufeng
* The safe wrapper for `console.xxx` functions
*
哈佛教授:穷人和过于忙碌的人有一个共同思维特质
bijian1013
时间管理 励志人生 穷人 过于忙碌
一个跨学科团队今年完成了一项对资源稀缺状况下人的思维方式的研究,结论是:穷人和过于忙碌的人有一个共同思维特质,即注意力被稀缺资源过分占据,引起认知和判断力的全面下降。这项研究是心理学、行为经济学和政策研究学者协作的典范。
这个研究源于穆来纳森对自己拖延症的憎恨。他7岁从印度移民美国,很快就如鱼得水,哈佛毕业
other operate
征客丶
OS osx
一、Mac Finder 设置排序方式,预览栏 在显示-》查看显示选项中
二、有时预览显示时,卡死在那,有可能是一些临时文件夹被删除了,如:/private/tmp[有待验证]
--------------------------------------------------------------------
若有其他凝问或文中有错误,请及时向我指出,
我好及时改正,同时也让我们一
【Scala五】分析Spark源代码总结的Scala语法三
bit1129
scala
1. If语句作为表达式
val properties = if (jobIdToActiveJob.contains(jobId)) {
jobIdToActiveJob(stage.jobId).properties
} else {
// this stage will be assigned to "default" po
ZooKeeper 入门
BlueSkator
中间件 zk
ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。
值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利
MySQL取得当前时间的函数是什么 格式化日期的函数是什么
BreakingBad
mysql Date
取得当前时间用 now() 就行。
在数据库中格式化时间 用DATE_FORMA T(date, format) .
根据格式串format 格式化日期或日期和时间值date,返回结果串。
可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值,以便得到所希望的格式。根据format字符串格式化date值:
%S, %s 两位数字形式的秒( 00,01,
读《研磨设计模式》-代码笔记-组合模式
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
abstract class Component {
public abstract void printStruct(Str
4_JAVA+Oracle面试题(有答案)
chenke
oracle
基础测试题
卷面上不能出现任何的涂写文字,所有的答案要求写在答题纸上,考卷不得带走。
选择题
1、 What will happen when you attempt to compile and run the following code? (3)
public class Static {
static {
int x = 5; // 在static内有效
}
st
新一代工作流系统设计目标
comsci
工作 算法 脚本
用户只需要给工作流系统制定若干个需求,流程系统根据需求,并结合事先输入的组织机构和权限结构,调用若干算法,在流程展示版面上面显示出系统自动生成的流程图,然后由用户根据实际情况对该流程图进行微调,直到满意为止,流程在运行过程中,系统和用户可以根据情况对流程进行实时的调整,包括拓扑结构的调整,权限的调整,内置脚本的调整。。。。。
在这个设计中,最难的地方是系统根据什么来生成流
oracle 行链接与行迁移
daizj
oracle 行迁移
表里的一行对于一个数据块太大的情况有二种(一行在一个数据块里放不下)
第一种情况:
INSERT的时候,INSERT时候行的大小就超一个块的大小。Oracle把这行的数据存储在一连串的数据块里(Oracle Stores the data for the row in a chain of data blocks),这种情况称为行链接(Row Chain),一般不可避免(除非使用更大的数据
[JShop]开源电子商务系统jshop的系统缓存实现
dinguangx
jshop 电子商务
前言
jeeshop中通过SystemManager管理了大量的缓存数据,来提升系统的性能,但这些缓存数据全部都是存放于内存中的,无法满足特定场景的数据更新(如集群环境)。JShop对jeeshop的缓存机制进行了扩展,提供CacheProvider来辅助SystemManager管理这些缓存数据,通过CacheProvider,可以把缓存存放在内存,ehcache,redis,memcache
初三全学年难记忆单词
dcj3sjt126com
english word
several 儿子;若干
shelf 架子
knowledge 知识;学问
librarian 图书管理员
abroad 到国外,在国外
surf 冲浪
wave 浪;波浪
twice 两次;两倍
describe 描写;叙述
especially 特别;尤其
attract 吸引
prize 奖品;奖赏
competition 比赛;竞争
event 大事;事件
O
sphinx实践
dcj3sjt126com
sphinx
安装参考地址:http://briansnelson.com/How_to_install_Sphinx_on_Centos_Server
yum install sphinx
如果失败的话使用下面的方式安装
wget http://sphinxsearch.com/files/sphinx-2.2.9-1.rhel6.x86_64.rpm
yum loca
JPA之JPQL(三)
frank1234
orm jpa JPQL
1 什么是JPQL
JPQL是Java Persistence Query Language的简称,可以看成是JPA中的HQL, JPQL支持各种复杂查询。
2 检索单个对象
@Test
public void querySingleObject1() {
Query query = em.createQuery("sele
Remove Duplicates from Sorted Array II
hcx2013
remove
Follow up for "Remove Duplicates":What if duplicates are allowed at most twice?
For example,Given sorted array nums = [1,1,1,2,2,3],
Your function should return length
Spring4新特性——Groovy Bean定义DSL
jinnianshilongnian
spring 4
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
CentOS安装Mysql5.5
liuxingguome
centos
CentOS下以RPM方式安装MySQL5.5
首先卸载系统自带Mysql:
yum remove mysql mysql-server mysql-libs compat-mysql51
rm -rf /var/lib/mysql
rm /etc/my.cnf
查看是否还有mysql软件:
rpm -qa|grep mysql
去http://dev.mysql.c
第14章 工具函数(下)
onestopweb
函数
index.html
<!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/
POJ 1050
SaraWon
二维数组 子矩阵 最大和
POJ ACM第1050题的详细描述,请参照
http://acm.pku.edu.cn/JudgeOnline/problem?id=1050
题目意思:
给定包含有正负整型的二维数组,找出所有子矩阵的和的最大值。
如二维数组
0 -2 -7 0
9 2 -6 2
-4 1 -4 1
-1 8 0 -2
中和最大的子矩阵是
9 2
-4 1
-1 8
且最大和是15
[5]设计模式——单例模式
tsface
java 单例 设计模式 虚拟机
单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点
安全的单例模式:
/*
* @(#)Singleton.java 2014-8-1
*
* Copyright 2014 XXXX, Inc. All rights reserved.
*/
package com.fiberhome.singleton;
Java8全新打造,英语学习supertool
yangshangchuan
java superword 闭包 java8 函数式编程
superword是一个Java实现的英文单词分析软件,主要研究英语单词音近形似转化规律、前缀后缀规律、词之间的相似性规律等等。Clean code、Fluent style、Java8 feature: Lambdas, Streams and Functional-style Programming。
升学考试、工作求职、充电提高,都少不了英语的身影,英语对我们来说实在太重要