当前位置:网站首页 > Java基础 > 正文

java中数据库基础



数据库:DataBase简称(DB)

        存储数据的仓库,数据是有组织的进行存储  

数据库管理系统:DataBase Management System简称(DBMS)

        操纵和管理数据库的大型软件

SQL :Structured Query Language简称(SQL)

        操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准

数据库分为两大类

        1.关系型数据库

                采用了关系模型来组织数据的数据库

                关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。

        2.非关系型数据库

mysql通用语法

        1.SQL语句可以单行或多行书写,以分号结尾

        2.SQL语句可以使用空格/缩进来增强语句的可读性

        3.MSQL数据库的SQL语句不区分大小写,关键字建议用大写

        4.注释:

                1.单行注释:--注释内容或者#注释内容(MySQL特有)

                2.多行注释:/*注释内容*/

SQL分类

       分类                                               说明

        DDL              数据定义语言,用来定义数据库对象(数据库,表,字段)          

        DML              数据操作语言,用来对数据库表中的数据进行增删改

        DQL              数据查询语言,用来查询数据库中的记录

        DCL               数据控制语言,用来创建数据库用户,控制数据库的访问权限

        DDL-数据库操作
        1.查询
                查询所有数据库  show databases;
                查询当前数据库  select database();
        2.创建
                create database [ if not exists]数据库名「defaultcharset字符集][collate排序规则];
        3.删除
                drop database [ if  exists]数据库名;
        4.使用
                use数据库名;

        DML -操作表-数据类型

        5.添加字段

                     alter table 表名 add 字段名 类型 (长度) comment’注释‘

        6.修改数据类型

                     alter table 表名 modify 字段名 新数据类型(长度);

        7.修改字段名和字段类型

                     alter table 表名 change 旧字段名 新字段名 类型(长度)comment’注释‘

        8.修改表名

                 alter table 表名 renameto 新表名

        9.删除表名

                drop table 表名

         Mysql中的数据类型有三类:数值类型,字符串类型,日期时间类型

数值类型

 字符串类型

 日期时间类型

DML语言

        添加 字段 

                  insert  into 表名 (字段1,字段2)values (值1,值2)

 

        修改 数据

                   update 表名 set  列1 = 值1[where]

 

        

 

       删除 delete 语法

                delete from 表名 [where条件]

 

truncate命令

        用于完全清空表数据,但表结构、索引、约束等不变

                truncate table_name;

truncate 与delete的区别

        相同点

                都能删除数据,不删除表结构,truncate速度更快

        不同点

                1.使用truncate table 重新设置 auto_incremeent(自动递增)计数器

                2.使用truncate table 不会对事务有影响

DQL语句(查询)

        查询表中所有的数据列结果

                select * from 表名

        查询指定结果数据列

                select 列1,列2,from 表名

         java中数据库基础区分连接查询时两个表有同名的字段

                select 表名.列名 from 表名,result

AS子句作用

                1.可以给数据列取一个新的别名

 

                2.可以给表取一个新的别名

                3.可把经计算或总结的结果用另外一个新名称来代替

     distinct 关键字

           作用:

                去掉SELECT查询返回的记录结果中重复的记录(所有返回列的值都相同)只返回一条

            语法:

                select distinct 字段1,字段2.....from表名

 

 where 条件语句

               逻辑操作符

 比较操作符

        

 between and范围查询

    1. 范围检索

          select 字段1,字段2....from表名 where 字段x

          between 值1 and 值2

     2.等同于>=和<=联合使用

 

        link 模糊查询

                在where子句中,使用link关键字 进型模糊查寻  

1.与“ % ”一起使用,表示匹配 0 或任意多个字符
2.与“ _ ”一起使用,表示匹配单个字符
 

 in范围查询

        SELECT  字段列1,字段2 ,…FROM 表名 WHERE   字段x  IN  ( 1,2,3…)

1. 查询的字段 x 的值,至少与括号中的一个值相同
2. 多个值之间用英文逗号隔开
 

 null 空值条件查询

1. NULL 代表“无值”
2. 区别于零值 0 和空符串“”
3. 只能出现在定义允许为 NULL 的字段
4. 须使用 IS NULL IS NOT NULL 比较操作符去比较

 多表连接查询

多表连接查询分为:

  • 内连接(inner join)
  • 外连接: 1.左连接(LEFT JOIN) 2.右连接(RIGHT JOIN)

内连接(inner join )

说明 :
两张表连接,两张表字段完全匹配才返回数据

语法:
SELECT 列名 from a表 inner join b表 on a表.连接字段=b表.连接字段 [WHERE tiaoj]

 

左连接(LEFT JOIN)
右连接(RIGHT JOIN)

子查询 的种类

        标量子查询:子查询返回的结果是单个值(数字,字符串,日期)

        列子查询:返回的结果是一列或者多行,常用操作符 in , not in, any, some,all

                                in:指定的集合范围之内,多选一。

                                not in : 不在指定的集合范围之内

                                any: 子查询返回列表中,有任意一个满足即可

                                some: 子查询返回列表中,有任意一个满足即可

                                all:  子查询返回列表中,都要满足

         行子查询 :子查询返回的结果是一行(可以是多列),常用操作符:= ,<>, in ,not,in 

  • 上一篇: 零基础Java打开
  • 下一篇: 零基础java初学者
  • 版权声明


    相关文章:

  • 零基础Java打开2024-11-09 19:42:03
  • 鱼皮刷java基础网站2024-11-09 19:42:03
  • java基础代码软件app2024-11-09 19:42:03
  • java基础不牢固能继续学么2024-11-09 19:42:03
  • java虚拟机基础教程pdf2024-11-09 19:42:03
  • 零基础java初学者2024-11-09 19:42:03
  • 基础java测试2024-11-09 19:42:03
  • 基础Java算术运算题2024-11-09 19:42:03
  • 加强JAVA基础的书籍2024-11-09 19:42:03
  • java从基础到框架2024-11-09 19:42:03