数据库——JDBC
数据库——JDBC
数据库优点:降低存储数据的冗余度;
更高的数据一致性;
存储的数据可以共享;
可以建立数据库所遵循的标准;
便于维护数据完整性;
能够实现数据的安全性;
建立数据库:
数据库的存储形式:
关系型数据库存储形式:
关系型数据模型与层次和王庄模型的呆板结构完全不同。访问层次状数据库的应用程序基于该数据库已定义好的实现,数据库结构必须硬编码到应用程序的编程语言中。如果数据库发生变化,应用程序就必须变化。
关系型数据库是独立于应用程序的。更改数据库设计,而不会影响应用程序成为可能,因为关系模型用组成相关数据的表的行和列这种结构,来替换父子框架。使用关系模型,我们可以客服早起模型的缺陷,在表之间定义复杂的关系。
关系型数据库的基本概念:
主键:在关系型数据库表中,用一个唯一的标示来标示每一行,这个标示符就是主键(Primary Key);
外键:在关系型数据库中,外键(Forergn Key)就是用来表达表与表之间的关联关系;

表与表之间三种关系类型:一对一:当两个表中第一个表中的一行只与第二个表中的一行相关,同时第二个表中的一行也只与第一个表中的一行相关,称之为两个表之间的一对一关系;
通常一对一关系是比较少见的关系类型。很多数据库也很少包含一对一关系。

一对多关系:一对多关系与一对一关系的不同之处在于,第一个表中的行可以与第二个表中的一到多个行相关联,但是第二标中的一行只能与第一个表中的一行相关联。通常把一对多关系中:“多边”的表称为从表,把“一边”的表称为主表,一对多挂你选是我们在数据库中最长见到的一种关系类型。

多对多关系:多对多关系实质两个表中,第一个表的一行可以与第二个表中的一到多个行相关联,同时,第二个表中的一行可以与第一个表中的一到多个行相关联。在大多数关系型数据库管理系统中,多对多关系通过在关系的两个表间增加第三个表来实现。把第三个表称之为连接表(Junction Table),连接表充当支持多对多关系的两个表之间的桥梁,多对多关系是逻辑而不是物理实现的。

DB——表(table)“一张表一个实体”
例:
| 卡号 | 密码 | 余额 |
| xxx | xxx | xxx |
| xxx | xxx | xxx |
| xxx | xxx | xxx |
DB:表查询数据库:show databases
1.创建数据库:create database + 库名
2.使用库:use + 库名
3.删除库:drop database + 库名
SQL:
SQL的非过程性质:主要关心的是操作的结果,而由宿主语言决定如何处理操作。
SQL语句:数据定义语言(DDL)
数据查询语言(DQL)
数据操作语言(DML)
数据控制语言(DCL)
管理数据库:
在创建数据库时,数据库名在服务器中必须是唯一的,并且符合标示符规则;
硬规则标示符规则:
1.第一个字母必须是:Unicode标准3.0锁定义的字母;下划线(_)、at符号(@)或者数字符号(#): 例: t_
2.后续字符可以是:Unicode标准3.0锁定义的字母;下划线(_)、at符号(@)或者数字符号(#): 例:f_
3.标示符不嗯给你使所用RDBMS的保留字;
4.不允许嵌入空格或其它特殊字符;
潜规则:见名知意;
连接数据库:新的数据库创建完毕后,为了在该数据库上执行SQL语句,需要连接到该数据上,连接到数据库用的语句: USE 数据库名;
在MySQL中,默认情况下,所有数据库均为不活动状态。使用上面的命令,可以激活并使用某个数据库。其后,就可以针对该数据库执行SQL语句;
删除数据库:删除数据库的方法为: DROP DATABASE 数据库名
数据类型:
整数数据类型:TINYINT/SMALLINT/MEDIUMINT/INT/BIGINT
浮点数据类型:FLOAT/DOUBLE/DECIMAL(M,D)/NUMERIC (注:M为总位数,D为小数位,M必须大于D)
字符串数据类型:CHAR(N)/VARCHAR(N)
二进制数据类型:TINYBLOB/BLOB/MEDIUMBLOB/LONGBLOB
逻辑数据类型:BOOLEAN
日期数据类型:YEAR/DATE/TIMESAMP/DATATIME
管理表:
创建表:基础SQL语法:CREATE TABLE<表名>(<列名><列的数据类型>[<列的约束>]);表名在一个数据库中必须是唯一的,并且符合标示符规则。列名在一个表内必须是唯一的,并且符合标示符规则;
例:CREATE TABLE Friend (Name VARCHAR(50),PhoneNo VARCHAR(15));
CREATE TABLE(表名前面加)t _ student“表名前面加t_”(f_name varchar(255),f_age int,f_gender tinyint);
删除表:基础SQL语法:DROP TABLE<表名>;通过外键约束连接在一起的表不能被删除。在删除表之前,必须先删除约束。在删除表时,必须是表的所偶这或者对该表有管理员权限。
复制表:在MySQL中,创建一个名为My_Friends的新表,该表是复制了Friend表的数据和结构(列、数据类型):CREATE TABLE My_Friends SELECT * FROM Friend;
复制表的同时标的约束并不能复制,所以推荐使用CREATE TALE语句创建基本的列和数据类型,然后使用ALTER TABLE命令添加所有其它约束。
如果只是复制表结构,不复制数据,只需要在WHERE子句中添加一个永远不等于true的条件即可:CREATE TABLE My_Friends SELECT * FkROM Friend WHERE 1=0;
修改表:
添加新列:ALTER TABLE Friend ADD Address VARCHAR(50);
更改列:ALTER TABLE Friend CHANGE Phone Phone VARCHAR(11) DEFAULT( ' 不知道电话号码 ' );
删除列:ALTER TABLE Friend DROP COLUMN PhoneNo;
小结:DDL:创建:CREATE TABLE 表名(
列名1 类型 约束,
列名2 类型 约束,
...)
删除:DROP TABLE 表名;
修改表:ALTER TABLE 表名:增加列:add 新列名 类型 约束;
更改列:CHANGE 原列名 新列名 类型 约束;
删除列:DROP COLUMN 列名;
数据库——JDBC的更多相关文章
- 常用数据库 JDBC URL 格式
一 常用数据库 JDBC URL 格式 1 sqLite 驱动程序包名:sqlitejdbc-v056.jar 驱动程序类名: org.sqlite.JDBC JDBC URL: jdbc:sqli ...
- BMP是在Bean中完成对数据库JDBC的各种调用
BMP是在Bean中完成对数据库JDBC的各种调用 CMP是由EJB容器自动完成对数据库的操作 会话Bean主要处理业务逻辑
- Java应用程序连接数据库--JDBC基础
Java应用程序连接数据库--JDBC基础 Java应用程序连接数据库–JDBC基础 <!-- MySQL驱动,连接数据库用,由数据库厂商提供 --> <dependency&g ...
- Java操作Sqlite数据库-jdbc连接
Java操作Sqlite数据库步骤: 1. 导入Sqlite jdbc 本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD 2 ...
- Java数据库——JDBC 2.0操作
可滚动的结果集 让结果集滚动起来 //================================================= // File Name : JDBC20_demo //-- ...
- java复习(9)---数据库JDBC
java写工程当然需要连接数据库.JDBC技术是连接数据库和应用程序的纽带,本节主要说明如何连接数据库. java中提供sql类. package re09; import java.sql.*; p ...
- Confluence 6 数据库 JDBC 驱动
本页面提供了支持的数据库的所有 JDBC 驱动下载链接. 基于许可证的原因,我们没有将 MySQL 或 Oracle 的数据库驱动整合到 Confluence 中,因此你需要在 Confluence ...
- 实例: Java代码操作oracle数据库(JDBC+sevrlet+jsp+html)
1, 注册页面 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.or ...
- 数据库JDBC的基本内容
JDBC 基本流程 首先向项目中导入jar包 创建如下代码 Class.forName("com.mysql.jdbc.Driver"); String url = "j ...
随机推荐
- 结对编程--基于android平台的黄金点游戏
游戏内容: 阿超的课都是下午两点钟,这时班上不少的同学都昏昏欲睡,为了让大家兴奋起来,阿超让同学玩一个叫“黄金点”的游戏: N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或1 ...
- range()函数的使用
坚持每天学一点,每天进步一点,迟早有一点我会成为大神. 在python中range函数可以返回一系列连续增加的整数,也是一个迭代器. 函数用法:range(开始, 结束, 步进值): #步进值默认为1 ...
- 强大的矩阵奇异值分解(SVD)及其应用
版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gm ...
- 简介 – ASP.NET MVC 4 系列
正所谓好记性不如烂笔头,尤其是技术类书籍在阅读后,时间久了一定会忘记.而重新翻阅整本书也较为低效,遂以博客记录阅读摘要以供日后查阅.本系列文章均摘要自 Wrox 红皮书[ASP.NET ...
- Head First 设计模式之观察者模式(Observer Pattern)
前言: 这一节开始学习观察者模式,开始讲之前会先像第一节那样通过一个应用场景来引入该模式.具体场景为:气象站提供了一个WeatherData对象,该对象可以追踪获取天气的温度.气压.湿度信息,Weat ...
- 中转Http请求
应用场景:公司与外部公司数据对接,外部公司需申请指定IP访问.而本地ip经常变动,无法因ip变动时刻向外部公司申请绑定IP,给本地程序调试带来麻烦,故只能在指定ip服务器上搭建请求中转http请求: ...
- Linux的nm查看动态和静态库中的符号
功能 列出.o .a .so中的符号信息,包括诸如符号的值,符号类型及符号名称等.所谓符号,通常指定义出的函数,全局变量等等. 使用 nm [option(s)] [file(s)] 有用的optio ...
- C#实现对Windows 服务安装
Windows服务作用:定时用户消息推送,WEB程序实时统计等 Windows服务创建:C#创建服务的方式也有很多种,建议大家在做之前可以先全面了解一下这方面东西再去动手这样便于解决中间遇到一些比较棘 ...
- 【MySQL】分页优化
前段时间由于项目的原因,对一个由于分页而造成性能较差的SQL进行优化,现在将优化过程中学习到关于分页优化的知识跟大家简单分享下. 分页不外乎limit,offset,在这两个关键字中,limit其实不 ...
- Tomcat启动报错 Could not reserve enough space for object heap
报错信息: Error occurred during initialization of VM Could not reserve enough space for object heap Coul ...