• 1.SQL概述

1.什么是SQL(了解):

  • 结构化查询语言,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的
  • SQL被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准, 后来被国际化标准组织(ISO)采纳为关系型数据库语言的国际标准

2  SQL优点:

  1. 标准统一:
    • 不是特定数据库供应商专有的语言, 几乎所有DBMS都支持SQL
  1. 简单易学:
    • SQL语言由描述性很强的英语单词组成, 这些单词数量不多, 且都很常用
  1. 声明式:
    • 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.关键字:

  1. create:用于创建操作
  2. alter: 用于修改操作
  3. 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 数据库(二)的更多相关文章

  1. Java进阶(二十五)Java连接mysql数据库(底层实现)

    Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...

  2. JDBC与JAVA数据库编程

    一.JDBC的概念 1. JDBC (Java DataBase Connectivity) Java数据库连接 a) 主要提供java数据库应用程序的API支持 2. JDBC的主要功能 a) 创建 ...

  3. JAVA数据库基本操作 (转)

    JAVA数据库基本操作指南   Java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接. 一.取得数据库连接 1.用DriverManager取数据库连接 ...

  4. java 数据库编程 学习笔记 不断更新

    最近开始学习java,感觉java的数据库编程需要发个随笔记录一下,话不多说 切入正题. 一.数据库访问技术的简介 应用程序  →  执行SQL语句 →数据库 → 检索数据结果 → 应用程序   ( ...

  5. Java数据库设计14个技巧

    Java数据库设计14个技巧   1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体.在特殊情况下,它们可能是一对 ...

  6. Linux -- 基于zookeeper的java api(二)

    Linux -- 基于zookeeper的java api(二) 写一个关于基于集群的zookeeper的自定义实现HA 基于客户端和监控器:使用监控的方法查看每个注册过的节点的状态来做出操作. Wa ...

  7. java数据库编程——读写LOB、可滚动和可更新的结果集、元数据

    java 数据库编程 1. 读写LOB 除了数字.字符串和日期之外,许多数据库还可以存储大对象,例如图片或其它数据.在SQL中,二进制大对象称为BLOB,字符型大对象称为CLOB. 要读取LOB,需要 ...

  8. (六) Java数据库

    一.概述 程序开发没有数据库的参与,可以说几乎是不可能的.数据库和Java都已经有了简单的了解,现在的关键是对两者进行连接,起到这一作用的正是JDBC——Java Database Connectiv ...

  9. Java EE : 二、图解 Cookie(小甜饼)

    目录 Java EE : 一.图解Http协议 Java EE : 二.图解 Cookie(小甜饼) Java EE : 三.图解Session(会话) 概述 一.概述 二.详细介绍Cookie 传输 ...

随机推荐

  1. LXD安装

    #安装 #初始化(一路next) sudo lxd init #启动容器 lxc launch ubuntu:16.04 first #进到容器内 lxc exec first -- /bin/bas ...

  2. 任务49:Identity MVC:Model前端验证

    任务49:Identity MVC:Model前端验证 前端验证使用的是jquery的validate的组件 _ValidationScriptsPartial.cshtml 在我们的layout里面 ...

  3. poj1651【区间DP·基础】

    题意: 给你一串数字,头尾不能动,每次取出一个数字,这个数字贡献=该数字与左右相邻数字的乘积,求一个最小值. 思路: 用dp[s][t]去代表s到t的最小值,包括a[s]和a[t],然后从区间为3开始 ...

  4. 如何才能优雅地书写JS代码

    第一:关于匿名函数的使用 要避免全局变量泛滥, 可以考虑使用匿名函数, 把不需要在外部访问的变量或者函数限制在一个比较小的范围内. 例如以下代码: <script> function fu ...

  5. 百度编辑器ueditor插件的基本使用

    注意:该插件是基于tpframe开发,请在tpframe框架上使用 插件下载地址:https://pan.baidu.com/s/1MOJbd1goQC0Bn5-7HcIdKA 插件下载下来后解压到a ...

  6. Apereo CAS Server服务端搭建教程

    不说废话了,直接看搭建过程吧. 首先到下载源码,https://github.com/apereo/cas-overlay-template/tree/4.2 附上地址,本次版本为4.2,下载源码后如 ...

  7. 第十五篇 .NET高级技术之正则表达式

    正则表达式 正则表达式是对字符串进行匹配的语法,像name like '%李%'一样,定义了一些特殊的“元字符”,用来判断一个字符串是否满足某个规则.正则表达式非常深,编译器都是基于正则表达式,掌握基 ...

  8. 如何用Zookeeper来实现分布式锁?

    什么是Zookeeper临时顺序节点? 例如 : / 动物 植物 猫 仓鼠 荷花 松树 Zookeeper的数据存储结构就像一棵树,这棵树由节点组成,这种节点叫做Zonde.# Znode分为四种类型 ...

  9. 160 Intersection of Two Linked Lists 相交链表

    编写一个程序,找到两个单链表相交的起始节点.例如,下面的两个链表:A:           a1 → a2                            ↘                   ...

  10. (020)[虚拟系统]Win7网络连接红叉(无解决)

    该虚拟机在重装主系统前是可以连接网络的,主系统重新安装以后,导入新安装的VM以后,网络图标显示红叉. 查看设备管理,显示没有安装以太网驱动. 重新安装 Vmware Tools,未果.VMware官网 ...