java 数据库(二)
1.SQL概述
1.什么是SQL(了解):
- 结构化查询语言,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的
- SQL被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准, 后来被国际化标准组织(ISO)采纳为关系型数据库语言的国际标准
2 SQL优点:
- 标准统一:
- 不是特定数据库供应商专有的语言, 几乎所有DBMS都支持SQL
- 简单易学:
- SQL语言由描述性很强的英语单词组成, 这些单词数量不多, 且都很常用
- 声明式:
- SQL是一种声明式的语言, 相对应的, Java是一种命令式的语言. 在SQL中, 你只需要指出 "想做什么", 而无需指明 "怎么做", 具体的操作过程由DBMS自动完成
2.分类
1.DDL (Data Definition Language)
- 数据定义语言, 用来定义数据库对象, 包括数据库, 表, 列, 索引, 视图等
2.DML (Data Manipulation Language)
- 数据操作语言, 用来操作数据库表中的记录
3.DQL (Data Query Language)
- 数据查询语言, 用来查询数据库表中的记录
4.DCL (Data Control Language)
- 数据控制语言, 用来定义访问权限和安全级别
3.SQL中的数据类型
1.数值类型
- int:整形
- double:浮点型, 例如double(5, 2)
2.文本和二进制类型
- char:固定长度字符串, char(10)
- varchar:可变长度字符串, varchar(255)
- text:字符串类型(非标准)
3.时间日期类型
- date:日期类型, 格式为 yyyy-MM-dd
- datetime:yyyy-MM-dd hh:mm:ss
4.数据库、表操作语言(DDL)
1.关键字:
- create:用于创建操作
- alter: 用于修改操作
- drop: 用于删除操作
2.操作数据表:
2.1数据库的约束
1.空值和非空值
- NULL NOT NULL(列值不可以为空,必须传值)
2.自动增长 :自动增长,需要配合主键使用,默认起始值为1 增量为1,只针对整数类型
- AUTO_INCREMENT
3.主键约束:每张表只能存在一个主键,保证数据唯一性,自动位NOT NULL
- 关键字PRIMARY KEY
4.唯一约束; 保证数据唯一性,可以为空值,一张表可以存在多个
- 关键字UNIQUE KEY
5.默认约束:如果没有输入明确的字段值,则会自动设置为默认值
- 关键字default
6.外键约束: 再多表中使用
- 关键字foreign key
2.2 例:创建一张student表
语法:( 列名 数据类型 , 列名 数据类型 , ......)
代码:CREATE TABLE students(id int , name varchar( 50 ) ,age int ) ;
2.3.验证:
2.3.1.查看数据库中数据表
- show columns from 数据表名 ;
2.3.2.查看数据表字段信息
- desc 数据表名;
2.3.3.查看数据表创建细节
- show create table 数据表名;
3.修改操作
1、修改数据表表名称
- 语法:RENAME TABLE oldname TO newname ;
- 代码:RENAME TABLE students TO stud;
2、修改数据表字符集-编码格式
- 语法:ALTER TABLE 表名称 CHARACTER SET 字符集名称;
- 代码:ALTER TABLE students CHARACTER SET gbk;
3、修改列的数据类型
- 语法:ALTER TABLE 表名称 MODIFY 列名称 数据类型 ;
- 代码:ALTER TABLE students MODIFY gender VARCHAR(10);
4、修改列名
- 语法:ALTER TABLE 表明称 CHANGE 列名称(old) 列名称(new) 数据类型;
- 代码:ALTER TABLE students CHANGE name sex VARCHAR(10);
4.删除操作
1、删除表中的列
- 语法:ALTER TABLE 表名称 DROP 列名称;
- 代码:ALTER TABLE students DROP sex;
2、删除数据表
- 语法:DROP TABLE 表名称 ;
- 代码:DROP TABLE students ;
3、删除表中所有的数据(后面演示)
- 语法:TRUNCATE TABLE 表名称;
- 代码:TRUNCATE TABLE students;
5.增加操作
1、在表中增加一列 列名称:age
- 语法:ALTER TABLE 表名称 ADD 列名 数据类型;
java 数据库(二)的更多相关文章
- Java进阶(二十五)Java连接mysql数据库(底层实现)
Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...
- JDBC与JAVA数据库编程
一.JDBC的概念 1. JDBC (Java DataBase Connectivity) Java数据库连接 a) 主要提供java数据库应用程序的API支持 2. JDBC的主要功能 a) 创建 ...
- JAVA数据库基本操作 (转)
JAVA数据库基本操作指南 Java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接. 一.取得数据库连接 1.用DriverManager取数据库连接 ...
- java 数据库编程 学习笔记 不断更新
最近开始学习java,感觉java的数据库编程需要发个随笔记录一下,话不多说 切入正题. 一.数据库访问技术的简介 应用程序 → 执行SQL语句 →数据库 → 检索数据结果 → 应用程序 ( ...
- Java数据库设计14个技巧
Java数据库设计14个技巧 1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体.在特殊情况下,它们可能是一对 ...
- Linux -- 基于zookeeper的java api(二)
Linux -- 基于zookeeper的java api(二) 写一个关于基于集群的zookeeper的自定义实现HA 基于客户端和监控器:使用监控的方法查看每个注册过的节点的状态来做出操作. Wa ...
- java数据库编程——读写LOB、可滚动和可更新的结果集、元数据
java 数据库编程 1. 读写LOB 除了数字.字符串和日期之外,许多数据库还可以存储大对象,例如图片或其它数据.在SQL中,二进制大对象称为BLOB,字符型大对象称为CLOB. 要读取LOB,需要 ...
- (六) Java数据库
一.概述 程序开发没有数据库的参与,可以说几乎是不可能的.数据库和Java都已经有了简单的了解,现在的关键是对两者进行连接,起到这一作用的正是JDBC——Java Database Connectiv ...
- Java EE : 二、图解 Cookie(小甜饼)
目录 Java EE : 一.图解Http协议 Java EE : 二.图解 Cookie(小甜饼) Java EE : 三.图解Session(会话) 概述 一.概述 二.详细介绍Cookie 传输 ...
随机推荐
- 洛谷 - P4452 - 航班安排 - 费用流
https://www.luogu.org/problemnew/show/P4452 又一道看题解的费用流. 注意时间也影响节点,像题解那样建边就少很多了. #include<bits/std ...
- firewall-cmd 使用总结
firewalld的简要说明: firewalld .firewall-cmd .firewall-offline-cmd它们Python脚本,通过定义的在/usr/lib/firewalld下面的x ...
- A. Banana (2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛)
题目大意是有一堆猴子,然后每个猴子都有自己喜欢的香蕉类型,然后香蕉会在指定的位置,问每个猴子能不能在每个地方吃到自己喜欢的香蕉. 其实直接暴力即可(因为最大最大最大是50) 上代码: #include ...
- Python入门小练习 003 利用cookielib模拟登录获取账户信息
为了方便, 使用chinaunix的账户获取账户主题. 有些网站可能需要验证码, 找一些不用验证码的网站 下面 ****** 很多个星号的均为私密信息, 所以用星号代替 #!/usr/bin/pyt ...
- AVL树(平衡二叉树)
定义及性质 AVL树:AVL树是一颗自平衡的二叉搜索树. AVL树具有以下性质: 根的左右子树的高度只差的绝对值不能超过1 根的左右子树都是 平衡二叉树(AVL树) 百度百科: 平衡二叉搜索树(Sel ...
- 1049 - One Way Roads 观察 dfs
http://lightoj.com/volume_showproblem.php?problem=1049 题意是,在一副有向图中,要使得它变成一个首尾相连的图,需要的最小代价. 就是本来是1--& ...
- json和php数组 格式的互相转换
$json_arr = array('WebName'=>'PHP网站开发教程网','WebSite'=>'http://www.jb51.net'); $php_json = json ...
- Android开发-浅谈架构(一)
写在前面的话 嗯 聊聊架构. 这段时间一直在维护旧项目. 包括自己之前写的新项目 越来越发现 一个架构清晰的项目往往让人赏心悦目.不至于在一个bug丢过来之后手足无措.包括以后别人接收自己的项目 能很 ...
- json数组某个数值对应渲染
当你统计某一年的某个值它对应的月份总数时,后台没有直接处理好,某个月对应某个值,这样会增加统计的负担,但当数据时这样的时候,在angularjs中时不能直接引用的. "data": ...
- 新建cordova应用
使用命令行(本例命令行均使用as或webstrom的命令行),在任意目录输入以下命令新建cordova应用 cordova create capp1 com.cesc.ewater.capp1 其中c ...


