1.SQL:结构化查询语言 Structured Query Language

  • 针对关系数据库设计
  • 各种数据库基本一致
  • 允许用户通过SQL查询数据而不关心数据库底层存储结构

1.1 SQL使用:

  • 可以直接通过数据库提供的命令行界面使用
  • 可以和各种编程语言继承实现访问数据库功能

1.2 SQL分类:

  • DDL:Data Definition Language 创建表/删除表/修改表结构
  • DQL:Data Query Language 查询记录
  • DML:Data Manipulation Language 添加/删除/更新记录

DDL用于初始化数据库和维护数据库。
一个Java程序运行时应该只使用DQL和DML,在应用程序运行的时候,只能查询、添加、删除、更新记录,通常情况下不能在应用程序运行期间修改表的结构。

### 1.3 SQL数据类型

SQL类型 Java类型
CHAR String
VARCHAR String
BOOLEAN boolean
BIT boolean
INT int
BIGINT LONG
FLOAT float
DOUBLE double
DECIMAL java.math.BigDecimal
DATE java.sql.Date
DATETIME java.util.Date
TIMESTAMP java.sql.TimeStamp

2.初步使用

#进入docker容器shell
docker ps
docker exec -it csjmysql0828 sh
#进入mysql
mysql -u root -p
-- 查看数据库
show databases;
-- 创建数据库
create databases test0828;
-- 选择数据库
use test0828;
-- 创建表
create table classes(id BIGINT NOT NULL auto_increment, name VARCHAR(10) NOT NULL, PRIMARY KEY(id));
-- 查看表
show tables;
-- 删除表
drop table classes;
-- 查看表
show tables;

如果表名列名与SQL关键字相同,SQL中可以用反引号扩起来。

```#sql
drop table `key`;
```

一般情况下,不要使用关键字作为表名列名

3. 总结:

SQL结构化查询语言(Structured Query Language)

  • 针对关系型数据库设计
  • 各种数据库基本一致
  • 允许用户通过SQL查询数据,而不关心数据库底层存储结构
  • 可以和各种编程语言集成实现访问数据库的功能
  • 关键字不区分大小写

廖雪峰Java15JDBC编程-2SQL入门-1SQL介绍的更多相关文章

  1. 廖雪峰Java15JDBC编程-2SQL入门-2insert/select/update/delete

    1. INSERT用于向数据库的表中插入1条记录 insert into 表名 (字段1,字段2,...) values (数据1,数据2,数据3...) 示例 -- 如果表存在,就删除 drop t ...

  2. 廖雪峰Java15JDBC编程-3JDBC接口-5JDBC连接池

    1. JDBC连接池 1.1 JDBC连接池简介 线程池可以复用一个线程,这样大量的小任务通过线程池的线程执行,就可以避免反复创建线程带来的开销. 同样JDBC可以复用一个JDBC连接 JDBC的连接 ...

  3. 廖雪峰Java15JDBC编程-3JDBC接口-4JDBC事务

    1 数据库事务:Transaction 1.1 定义 若干SQL语句构成的一个操作序列 要么全部执行成功 要么全部执行不成功 1.2 数据库事务具有ACID特性: Atomicity:原子性 一个事务 ...

  4. 廖雪峰Java15JDBC编程-3JDBC接口-3JDBC更新

    使用update语句的时候,需要通过JDBC实现update语句的执行,这个时候仍然通过PreparedStatement对象来使用,直接传入update语句,然后通过setObject传入占位符的值 ...

  5. 廖雪峰Java15JDBC编程-3JDBC接口-2JDBC查询

    我们可以使用JDBC查询来执行select语句. 1. Statement try(Connection conn = DriverManager.getConnection(JDBC_URL, JD ...

  6. 廖雪峰Java15JDBC编程-3JDBC接口-1JDBC简介

    JDBC:Java DataBase Connectivity Java程序访问数据库的标准接口 使用Java程序访问数据库的时候,Java代码并不是直接通过TCP连接去访问数据库,而是通过JDBC接 ...

  7. 廖雪峰Java15JDBC编程-1关系数据库基础-1关系数据库简介

    1.数据库 1.1 定义 数据库是按照数据结构来组合.存储和管理数据的软件. 1.2 数据库模型 数据库有层次模型.网状模型.关系模型三种模型. 2 关系数据库 关系数据库是建立在关系模型上的数据库, ...

  8. 廖雪峰Java12maven基础-1maven入门-1maven介绍

    1.Java项目: * 1.1.首先确定引入哪些依赖包,如commons-logging, log4j, selenium * 1.2.确定项目的目录结构 * 1.3.配置环境:如JDK的版本号 * ...

  9. git入门笔记汇总——(廖雪峰博客git入门)

    本文内容是对廖雪峰老师Git教程做的笔记,外加一些自己的学习心得,还抱着学以致用的心态来实践一番 如有显示错误 请移步本人github:git教程小结 Git学习笔记 Git简介 安装Git 创建版本 ...

随机推荐

  1. StringUtils里的isEmpty方法和isBlank方法的区别

    原文地址:https://blog.csdn.net/a1102325298/article/details/80410740 isEmpty public static boolean isEmpt ...

  2. 洛谷P3916 图的遍历

    题目链接:https://www.luogu.org/problemnew/show/P3916 题目大意 略. 分析 以终为始,逆向思维. 代码如下 #include <bits/stdc++ ...

  3. PAT_A1053#Path of Equal Weight

    Source: PAT A1053 Path of Equal Weight (30 分) Description: Given a non-empty tree with root R, and w ...

  4. bagging和boosting以及rand-forest

    bagging: 让该学习算法训练多轮,每轮的训练集由从初始的训练集中随机取出的n个训练样本组成,某个初始训练样本在某轮训练集中可以出现多次或根本不出现,训练之后可得到一个预测函数序列h_1,⋯ ⋯h ...

  5. 图文形式分享网页到facebook (要求:可以多个图片切换选择)

    分享网页到facebook的功能很常见,之前都是简单的网页分享,没遇到什么砍儿.这次的需求相比之前有一丁点特殊,就是图片得是用户指定选择的. fb文档地址:https://developers.fac ...

  6. Mybatis 使用的 9 种设计模式,真是太有用了~

    Java技术栈 ) {      name = fullname.substring(0, delim);      children = fullname.substring(delim + 1); ...

  7. 使用Pyppeteer进行gmail模拟登录

    import asyncio import time from pyppeteer import launch async def gmailLogin(username, password, url ...

  8. Python从入门到精通视频(全60集)✍✍✍

    Python从入门到精通视频(全60集)  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看 ...

  9. vue created与activated的区别

    搬运自:https://www.cnblogs.com/goloving/p/9256212.html 使用<keep-alive>会将数据保留在内存中,如果要在每次进入页面的时候获取最新 ...

  10. Linux 常用命令:文本查看篇

    前言 Linux常用命令中,除了cat还有很多其他用于文本查看的命令.本文将简单介绍一下这些文本查看的命令. 全文本显示--cat cat可能是常用的一个文本查看命令了,使用方法也很简单: cat f ...