JAVA 2022.7.21课程总结(数据库)

一、数据库语法

 

 -- 删除函数
DROP FUNCTION CHECKsex;

二、mysql文件1

数据库概念
    在计算机中, 通过一定的结构,来组织,存储和管理数据的软件系统
    数据库管理系统(Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能

数据库分类
    关系型数据库
        Oracle,Microsoft SQL Server,MySQL,PostgreSQL,DB2,Microsoft Access, SQLite,Teradata等
    非关系型数据库(看看)
        面向高性能并发读写的key-value数据库
            key-value数据库的主要特点是具有极高的并发读写性能
            Key-value数据库是一种以键值对存储数据的一种数据库,类似Java中的map。可以将整个数据库理解为一个大的map,每个键都会对应一个唯一的值。
            Redis, Amazon DynamoDB, Memcached
            Memcached---https://www.runoob.com/Memcached/Memcached-tutorial.html
        面向海量数据访问的面向文档数据库
            这类数据库的主要特点是在海量的数据中可以快速的查询数据
文档存储通常使用内部表示法,可以直接在应用程序中处理,主要是JSON。JSON文档也可以作为纯文本存储在键值存储或关系数据库系统中。
            MongoDB,Amazon DynamoDB,Couchbase,Microsoft Azure Cosmos DB和CouchDB
            MongoDB---https://www.runoob.com/mongodb/mongodb-tutorial.html
        面向搜索数据内容的搜索引擎
            搜索引擎是专门用于搜索数据内容的NoSQL数据库管理系统。
主要是用于对海量数据进行近实时的处理和分析处理,可用于机器学习和数据挖掘
            Elasticsearch,Splunk,Solr,MarkLogic和Sphinx
        面向可扩展性的分布式数据库
            这类数据库想解决的问题就是传统数据库存在可扩展性上的缺陷,这类数据库可以适应数据量的增加以及数据结构的变化,将数据存储在记录中,能够容纳大量动态列。由于列名和记录键不是固定的,并且由于记录可能有数十亿列,因此可扩展性存储可以看作是二维键值存储
            Cassandra,HBase,Microsoft Azure Cosmos DB,Datastax Enterprise和Accumulo

数据库操作(SQL)
    DDL(数据库定义语言)
        数据库
            创建
                CREATE DATABASE [IF NOT EXISTS] <数据库名> [CHARACTER SET utf8]
            删除
                DROP DATABASE <数据库名>
            查看
                SHOW DATABASES;
                    查看服务中心所有的数据库
                SHOW CREATE DATABASE <数据库名>;
                    查看数据库创建细节
            选择
                USE <数据库名>
        数据表
            创建
                CREATE TABLE `t` (  `id` int(11) NOT NULL auto_increment,  `n_id` int(10) unsigned NOT NULL,  `L1` int(10) unsigned zerofill default NULL,  `L2` int(11) default NULL,  PRIMARY KEY  (`id`,`n_id`),  KEY `f_t_b` (`L1`),  CONSTRAINT `f_t_b` FOREIGN KEY (`L1`) REFERENCES `my` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE=InnoDB DEFAULT CHARSET=utf8
            修改表
                修改表名
                    ALTER TABLE <原表名> RENAME TO|AS <新表名>
                设置表编码
                    ALTER TABLE <表名> CHARACTERSET <编码格式>
                添加列ADD
                    ALTER TABLE <表名> ADD <列名> VARCHAR (20) <约束>
                修改Modify(重新定义)
                    ALTER TABLE <表名> MODIFY <列名> VARCHAR (20) NOT NULL
                更换列的位置
                    ALTER TABLE <表名> MODIFY <列名> VARCHAR (20) AFTER<列名2>
-- 重新放置某列之后
                    ALTER TABLE <表名> MODIFY <列名> VARCHAR (20) FIRST
-- 将某列放在表结构的第一列
                修改列名
                    ALTER TABLE <表名> CHANGE <原列名> <新列名> VARCHAR (200)
                删除列
                    ALTER TABLE <表名> DROP COLUMN <列名>;
            删除
                DROP TABLE <表名>
            查看
                查看表结构   
                    DESC <表名>
                    DESCRIBE <表名>
                    SHOW COLUMNSF ROM <表名>
                    SHOW [FULL] FIELDS FROM <表名>
                查看创建语句
                    SHOW CREATE TABLE <表名>
    DML(数据操纵语言)
        添加记录
            INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );
            INSERT INTO TABLE_NAME(F1,F2,F3) SELECT (E1,E2,E3) FROM TABLE WHERE.....
        修改记录
            UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
        删除记录
            DELETE FROM table_name [WHERE Clause]
    DQL(数据查询语言)
        简单查询
            完整语法
                select * from 表名 where 筛选条件 group by 分组字段1, 分组字段2 having 分组筛选条件 order by 排序字段1, 排序字段2 limit 起点, 数量
            字段筛选   select...
            别名 as
            重复数据合并(去除重复的查询结果)distinct
            条件筛选where
                比较运算
                    不等于 <>  !=
                    null值等于  <=>
                    大于,小于,等于,大于等于,小于等于
                逻辑运算
                    and
                    or
                    and 和or同时使用,and优先级高,可以使用小括号控制顺序
                空值判断
                    is null
                    is not null
                存在判断(判断子查询中是否有结果)
                    exists
                    not exists
                    SELECT   *   FROM  表名 WHERE EXISTS (SELECT id FROM my WHERE id = 1111)
                包含 in
                模糊查询 like
                    通配符%_
                any和all
                    ALL运算符是一个逻辑运算符,它将单个值与子查询返回的单列值集进行比较。
                    ALL运算符必须以比较运算符开头,例如:>,>=,<,<=,<>,=,后跟子查询。
                    语法
                    ANY运算符
            分组查询group by
                聚合函数
                    COUNT
                        SELECT COUNT(*) FROM TABLE_NAME-- 查询表中数据的行数,无论是否有空值
                        SELECT COUNT(COL_NAME) FROM TABLE_NAME-- 查询COL_NAME列中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值