sql数据库

【6.0】SQL基础----1 DDL语句【数据定义语言】

筅森魡賤 提交于 2020-02-26 22:56:07
SQL 分类 SQL 语句主要可以划分为以下3 个类别: DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段、 数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括 create、drop、alter 等。 DML(Data Manipulation Language)语句:数据操纵语句,用于添加、删除、更新和查 询数据库记录,并检查数据完整性,常用的语句关键字主要包括 insert、delete、udpate 和 select 等。 DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和 访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的 语句关键字包括 grant、revoke 等。 1 DDL语句【数据定义语言】: 1.1 创建数据库 语句:create database if not exists 数据库名; 备注:每个数据库默认有一个数据库字符集和一个数据校验规则,不能缺少。 例子: 查看所有数据库: 1.2 修改数据库名称和字符集   1 修改数据库名称: 如果存储引擎是InnoDB,是无法修改数据库名称的 。其他引擎怎么修改数据库名称,再查; 2 修改数据库字符集:     语句:alter database 数据库名

春眠不觉晓,SQL 知多少?

纵饮孤独 提交于 2020-02-26 22:16:48
文章目录 SQL 的诞生 SQL 标准化 SQL:2019 SQL:2016 SQL:2011 SQL:2008 SQL:2006 SQL:2003 SQL:1999 SQL-92 语言特性 语句分类 SQL 实现 NewSQL SQL 的诞生 一九七九年,那是一个夏天。 有一位来自 IBM 圣约瑟研究实验室的高级研究员 Edgar Frank Codd 在 Communications of ACM 上发表了名为《 A Relational Model of Data for Large Shared Data Banks 》的文章,从而创建了关系数据模型。时至今日,基于该模型的关系数据库仍然是数据库领域的主流;数据库排名网站 DB-Engines 给出了各类数据库的排名。 Codd 也因此在 1981 年获得了计算机领域最高奖图灵奖,被人们称为关系数据库之父。 1974 年,同样是来自 IBM 的 Donald D. Chamberlin 和 Raymond F. Boyce 基于关系模型开发了 SQL 的初始版本:SEQUEL(Structured English Query Language)。SEQUEL 被设计用于 IBM 最初的准关系数据库管理系统 SystemR。IBM 随后基于其 SystemR 原型开发商业产品,分别于 1979 年、1981 年和 1983

查询内存溢出

人走茶凉 提交于 2020-02-26 21:33:30
首先我们来看一个带排序的查询,点击工具栏的 显示包含实际的执行计划。 1 SELECT * FROM AdventureWorks2008R2.Person.Person WHERE FirstName LIKE 'w%' ORDER BY 1 从执行计划里可以看出,SELECT运算符包含了 内存授予(Memory Grant) 信息(一般情况下不会出现,这里是因为我们的语句包含排序操作)。内存授予是KB为单位,是当执行计划中的一些运算符(像Sort/Hash等运算符)的执行,需要使用内存来完成——因此也被称为 查询内存(Query Memory) 。 在查询正式执行前,查询内存必须被SQL Server授予才可以。对于提供的查询,查询优化器根据查询对象的对应统计信息来决定需要多少查询内存。现在的问题就是,当统计信息过期了,SQL Server就会低估要处理的行数。在这个情况下,SQL Server对于提供的查询还是会请求更少的查询内存。但当查询真正开始后,SQL Server就不能改变授予的内存大小,也不能请求更多的内存。查询必须在授予的查询内存里完成操作。在这个情况下,SQL Server需要把Sort/Hash运算符涌进TempDb,这就意味我们原先在内存里快速操作变成物理磁盘上慢速操作。SQL Server Profiler可以通过 Sort Warnings 和 Hash

在Linux下,DMHS的搭建

孤街浪徒 提交于 2020-02-26 20:06:22
一、概念 1.DMHS全称: H eterogeneous database S ynchronization for DM 达梦异构数据同步软件 2.工作模式 捕获器:读取解析源端数据库管理系统的归档日志; 执行器:接收数据,并进行数据映射及事务的入库(目标端数据库)执行; 路由器:适用于捕获器和执行器被网关隔断的环境; 转发器:捕获器和执行器之间存在物理隔离网闸,无法通过网络直连需要文件中转的时候。 二、安装数据库ORACLE 设置ip:192.168.73.8-这是我配置的ip地址 1.创建系统用户 groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle 2.配置环境变量 vi .bash_profile export ORACLE_SID=orcl export ORACLE_BASE=/oracle export ORACLE_HOME=/oracle/product/11.2.0/dbhome_2 export PATH=$ORACLE_HOME/bin:$PATH 使环境变量生效:source .bash_profile 3.开始安装Oracle,步骤省略 4.开启监听:lsnrctl start 5.检查是否开启归档日志 sqlplus / as sysdba

数据库第三章总结

99封情书 提交于 2020-02-26 18:44:11
SQL语言概览 SQL标准符合度分为四个等级: Entry leve SQL Transitional SQL Intermediate SQL Full SQL SQL-99、SQL-92支持四个等级的四个标准 没有DBMS实现全部SQL标准(出于安全性等考虑) SQL语言分为 DDL:   ——create table, alter table,drop table   ——create index,drop index   ——create view, drop view   ——create trigg,drop trigger   ……各种create DML:   ——selec …… from   ——insert, delete, update DCL:   ——grant,revoke SQL用语言数据定义 回忆: super-key candidate key primary key   SQL例子: CREATE TABLE instructor ( ID char(5), name varchar(20) not null, dept_name varchar(20), salary numeric(8,2) primary key (ID) );   PS: char 类型会自动补空格,varchar不会     not null 不能位空

简单了解数据在Oracle文件中的存储

霸气de小男生 提交于 2020-02-26 17:50:01
2010-02-13 目的: 1、 了解数据块转储 2、 简单认证数据在ORACLE文件的存储 测试环境: VM+Win2003+Oracle11g DB_BLOCK_SIZE 8k C:\Documents and Settings\Administrator>sqlplus /nolog SQL*Plus: Release 11.2.0.1.0 Production on 星期一 2月 13 21:03:38 2012 Copyright (c) 1982, 2010, Oracle. All rights reserved. SQL> conn / as sysdba 已连接。 SQL> create tablespace test1 datafile 'E:\app\Data\orcl\test1' size 20M ; 表空间已创建。 SQL> Create user firefox identified by qwe123 temporary tablespace temp default tablespace test1 quota unlimited on test1; 用户已创建。 SQL> select extent_management,allocation_type,segment_space_management from dba_tablespaces

测试案例 - 12c 版本,如何将 Non-CDB 转换为 PDB 数据库 (Doc ID 2610618.1)

时光怂恿深爱的人放手 提交于 2020-02-26 14:38:59
适用于: Oracle Database - Enterprise Edition - 版本 12.1.0.1 到 12.1.0.2 [发行版 12.1] Oracle Database Cloud Schema Service - 版本 N/A 和更高版本 Oracle Database Exadata Cloud Machine - 版本 N/A 和更高版本 Oracle Cloud Infrastructure - Database Service - 版本 N/A 和更高版本 Oracle Database Cloud Exadata Service - 版本 N/A 和更高版本 本文档所含信息适用于所有平台 目标 将 Non-CDB 数据库转换为 PDB 的步骤。 解决方案 步骤如下: 在此测试案例中: Non-CDB 数据库的名称是:12cNonPDB 1. 要将 non-CDB 转换为 PDB,必须彻底关闭数据库: . oraenv 将环境变量设置为 12cNonPDB sqlplus / as sysdba sql> shutdown immediate 2. 彻底关闭数据库后,以只读模式打开它: sql> startup open read only 3. 描述数据库并生成 xml 文件: BEGIN DBMS_PDB.DESCRIBE(pdb_descr

SQL回顾

筅森魡賤 提交于 2020-02-26 07:29:44
数据库的本质是一种特殊的文件 数据库是由数据表组成的,数据表是真正存储数据的 数据库客户端-->SQL语句-->数据库服务器-->数据库文件 表与表之间存在关联的数据库称为关系型数据库 (sql-server my-sql(5.1, 5.6, 5.7) Oracle(10g, 11g) db2) 非关系型数据库(mongodb redis) 唯一的标识一行信息的特殊的列 主键(primary key)不允许重复,不允许为空 当前表中的某个字段来自与另一张表中的主键的值,那么这个字段称之为 外键(foreign key) 列 字段 同一类的信息 行 记录 对象的详细信息 记录的集合组成数据表,数据表的集合组成数据库文件 DQL 数据查询语言 select DML 数据操作语言 insert, update, delete DDL 数据定义语言 create, drop 数据库服务端的安装 sudo apt-get install mysql 数据库客户端的安装 sudo apt-get install mysql-client 将程序的一些配置 写到配置文件中 修改的时候不用修改程序只需要修改配置文件即可(可以更好地保护程序源码) decimal() 占5位小数占2位 enum("情况1","情况2",..) 把所有可能出现的情况都列举出来 体积比较大的文件不存在数据库中

Oracle主键约束、唯一键约束、唯一索引的区别

大憨熊 提交于 2020-02-26 06:36:33
一般,我们看到术语“索引”和“键”交换使用,但实际上这两个是不同的。索引是存储在数据库中的一个物理结构,键纯粹是一个逻辑概念。键代表创建来实施业务规则的完整性约束。索引和键的混淆通常是由于数据库使用索引来实施完整性约束。 接下来我们看看数据库中的主键约束、唯一键约束和唯一索引的区别。 SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production PL/SQL Release 11.2.0.1.0 - Production CORE 11.2.0.1.0 Production TNS for Linux: Version 11.2.0.1.0 - Production NLSRTL Version 11.2.0.1.0 - Production SQL> create table test ( 2 id int, 3 name varchar2(20), 4 constraint pk_test primary key(id)) 5 tablespace users;

MyBatis完全使用指南

 ̄綄美尐妖づ 提交于 2020-02-26 05:57:07
MyBatis完全使用指南 转 http://www.jianshu.com/p/1c7c7d1bba33 MyBatis MyBatis作为一个轻量的SQL映射框架,确实很简单,但是知识点挺多,实际使用中还是会有时想不起来某个标签该怎么写,所以整理了这篇文章,以备查询。由于MyBatis如此简单,使得这一篇文章基本把实际使用中常碰到的事情都涵盖了,包括: MyBatis中的一些概念 MyBatis包含的内容 SQL映射 动态SQL 一、 MyBatis中的一些概念 MyBatis的架构 1. MyBatis 是个什么东西 在使用MyBatis的项目里,日志中往往会出现很多拼接SQL语句的log,这其实说明了MyBatis底层还是使用JDBC来实现的。在JDBC的基础上,为了性能考虑,所有的语句都是基于 SqlSession 。顾名思义,维护这个类的实例其实就是维护了一个对于某个数据库的连接的会话,在这个会话里可以有缓存啊什么之类的。 2. mapper 接口是怎么映射成SQL语句的 目前多数开发者还是会使用XML来进行MyBatis的配置,包括MyBatis的核心配置和SQL映射配置。其实和注解一样,XML本身只不过是一个元数据的载体,最终起作用的还是MyBatis的核心类。其中有这样几个比较重要的: SqlSessionFactoryBuilder ,用来创建