sql数据库

SQL UNIQUE 约束

白昼怎懂夜的黑 提交于 2020-03-18 23:03:30
SQL UNIQUE 约束 UNIQUE 约束唯一标识数据库表中的每条记录。 UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。 PRIMARY KEY 拥有自动定义的 UNIQUE 约束。 请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。 SQL UNIQUE Constraint on CREATE TABLE 下面的 SQL 在 "Persons" 表创建时在 "Id_P" 列创建 UNIQUE 约束: MySQL: CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), UNIQUE (Id_P) ) SQL Server / Oracle / MS Access: CREATE TABLE Persons ( Id_P int NOT NULL UNIQUE, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) ) 如果需要命名

创建与管理Oracle的分区表和本地索引

ぃ、小莉子 提交于 2020-03-18 19:32:50
在网上看到eygle写的一篇关于分区表和本地索引的文章,感觉总结的挺好,特转了过来。 Oracle 的 分区技术 在某些条件下可以极大的提高 查询 的性能,所以被广泛采用。从产品上说,分区技术是Oracle企业版中独立收费的一个 组件 。以下是对于分区及 本地索引 的一个示例。   首先根据字典表创建一个测试分区表: SQL> connect eygle/eygle   Connected.   SQL> CREATE TABLE dbobjs   2 (OBJECT_ID NUMBER NOT NULL,   3 OBJECT_NAME varchar2(128),   4 CREATED DATE NOT NULL   5 )   6 PARTITION BY RANGE (CREATED)   7 (PARTITION dbobjs_06 VALUES LESS THAN (TO_DATE('01/01/2007', 'DD/MM/YYYY')),   8 PARTITION dbobjs_07 VALUES LESS THAN (TO_DATE('01/01/2008', 'DD/MM/YYYY')));   Table created.   SQL> COL segment_name for a20   SQL> COL PARTITION_NAME for a20  

PHP实现统计在线人数的方法

大城市里の小女人 提交于 2020-03-18 17:45:06
PHP对session对象的封装的很好,根据HTTP协议,每个范围网站的访客都可以生成一个唯一的标识符 echo session_id(); //6ed364143f076d136f404ed93c034201<br />    这个就是统计在线人数的关键所在,只有有这个session_id 也就可以区分访问的人了。因为每一个人都不同。 接下来,是怎么把session变量里面的值存到数据库里面去,这里有将介绍另一个函数 bool session_set_save_handler ( callable $open , callable $close , callable $read , callable $write , callable$destroy , callable $gc ) //callable 可随时支取的,请求即付的,随时可偿还的 // open(string $savePath, string $sessionName) 打开连接 //close() 关闭连接 //read(string $sessionId) 对出数据 //write(string $sessionId, string $data) //写入数据 //destroy($sessionId) //删除数据 //gc($lifetime) //垃圾回收函数    注意,上面有几个函数是有参数传入的

如何在SQL Server中生成和使用CRUD存储过程

痴心易碎 提交于 2020-03-18 17:09:31
通过优锐课核心java学习笔记中,我们可以看到,码了很多专业的相关知识, 分享给大家参考学习。 在本文中,请参阅如何在SQL Server中生成和使用CRUD存储过程。 大多数数据库系统基于缩写CRUD调用的最简单的4种数据操作操作进行操作。 此首字母缩写词代表CREATE,READ,UPDATE和DELETE。 在开发和管理数据库时,可以使用CRUD存储过程来执行所有与数据有关的任务。 这种存储过程的好处是,一旦编写了一次,便可以根据需要重复使用多次,而无需每次都编写新代码。 这是对临时SQL语句的重大改进,临时SQL语句应在每次使用它们时重新编写。 让我们详细了解每个CRUD存储过程。 仔细研究CRUD存储过程 在继续之前,我们要谈一谈CRUD存储过程的命名。 通常,以这样一种方式命名它们是一个好习惯,即每个过程都包含要应用到的表的名称,并以它们正在执行的操作的名称结尾。 这样,为同一表编写的所有过程将被分组在一起,并且更容易搜索。 但是,它不是强制性的,你可以遵循自己喜欢的任何命名方式。 现在,让我们看一下第一种过程类型。 创建程序 这些将执行INSERT语句,创建一个新记录。 此类过程应为表的每一列接受一个参数。 SQL 1 IF OBJECT_ID('Sales.usp_Currency_Insert') IS NOT NULL BEGIN DROP PROC Sales

浅谈mysql

安稳与你 提交于 2020-03-18 13:53:51
关于数据库其实我们可以简单的理解为存储货物的一个厂库,里面分别是按照一定的分类存放的物品,然后人们有时会从厂库中拿走或存储一些物品,有时也会更改或增加一些分类 这些物品都分门别类的存放在厂库中,方便人们的查询和存储。 MySQL是一个关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在互联网行业。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多互联网公司选择了MySQL作为后端数据库。2008年MySQL被Sun公司收购,2010年甲骨文成功收购Sun公司。 MySQL数据库的优点: 1、多语言支持:Mysql为C、C++、Python、Java、Perl、PHP、Ruby等多种编程语言提供了API,访问和使用方便。 2、可以移植性好:MySQL是跨平台的。 3、免费开源。 4、高效:MySql的核心程序采用完全的多线程编程。 5、支持大量数据查询和存储:Mysql可以承受大量的并发访问。 由于本人最先接触到的数据库是oracle,在此谈论mysql说的有些命令或知识可能是oracle 上的,mysql可能不适用,见谅 首先先介绍下mysql的常用命令: 显示所有数据库:show databases; •选定默认数据库:use dbname; •显示默认数据库中所有表:show tables; •放弃正在输入的命令:\c

清理SQL SERVER事务日志

人盡茶涼 提交于 2020-03-18 09:04:38
今天发现数据库事务日志竟然达到500多M,这也难怪,修改数据如此频繁 想要清理,发现没有办法,上GOOGLE上一搜,在ZDNET上找到答案也 先分离数据库,然后删掉日志文件,接下来再attach数据库,SQL会显示日志文件丢失,按确定ATTACH的时候,会提示你创建新的日志文件,只要确定即可完成,简单方便 不过,需要提醒的是,第一,在删除日志前,最好将老的日志文件全都备份一下 第二,如果你的事务日志存放于多个物理文件中,那么,上面的方面就没办法帮你清理喽 不过,下面的方法绝对快 backup log db_name with no_log dbcc shrinkfile (northwind_log,5) 来源: https://www.cnblogs.com/Heroman/archive/2004/12/15/77572.html

Python pymysql模块

谁说胖子不能爱 提交于 2020-03-18 06:59:52
pymysql模块 1.什么是pymysql:PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 2.pymysql模块是第三方的需要自己安装: # 1.安装:pip3 insatll pymysql 安装pynysql库 3.基本语法使用 # 导入pymysql模块 import pymysql # 连接到数据库 conn = pymysql.connect( host = '127.0.0.1', # 数据库ip地址 port = 3306, # 数据库端口号 user = 'root', # 用户名 password = '123', # 密码 database = 'day38', # 数据库 charset = 'utf8', # 编码千万不要加- 如果写成了utf-8会直接报错 autocommit = True # 这个参数配置完成后 增删改操作都不需要在手动加conn.commit()了 ) # 产生游标对象 cursor = conn.cursor(pymysql.cursors.DictCursor) # 产生一个游标对象 每行数据 以字典的形式或列表套元组展现 键是表的字段名 值是表的字段值,不设置查询结果解释元组或元组套元组 # sql语句拼接 sql = sql语句 # 例:#

RAC环境上搭建DG

杀马特。学长 韩版系。学妹 提交于 2020-03-18 06:07:21
首先RAC要确实是开归档的状态 archive log list; 如果是非归档状态,需要执行下面几步 srvctl stop database -d +数据库实例名 关闭数据库 --节点1(要做DG主库的) sql>startup mount sql> alter database archivelog; sql>alter system set log_archive_dest_1='LOCATION=/oracleapp/arch' scope=spfile sid='prod1'; sql>shutdown immediate srvctl start database -d +数据库实例名 RAC环境上搭建DG 查看当前数据库的日志文件组 select group#,thread#,bytes/1024/1024,status from v$standby_log; 为主库添加几组组standby log文件,以便它们自动被传送到备库。(一般比主库多一组) alter database add standby logfile thread 1 group 11 size 50m; alter database add standby logfile thread 1 group 12 size 50m; alter database add standby logfile

Java之JDBC

▼魔方 西西 提交于 2020-03-18 05:36:50
JDBC的全称为:Java DataBase Connectivity(Java数据库连接)。 是一种执行SQL语句的Java API,可以为多种关系型数据库提供统一的访问。 1.JDBC的API (1)JDBC入门 package com.imooc.jdbc.demo1; import com.mysql.cj.jdbc.Driver; import java.sql.*; public class JDBCDemo1 { public void demo1() throws SQLException { //这里需要接受异常 //1.加载驱动 DriverManager.registerDriver(new Driver()); //2.获取连接 Connection conn = DriverManager.getConnection("jdbc:mysql://18.0.51.10:3306/jdbctest","root","123456"); //3.创建执行SQL语句的对象 String sql = "select * from user"; Statement stmt = conn.createStatement(); //4.执行sql语句 ResultSet resultSet = stmt.executeQuery(sql); while

sql语句附加分离数据库

不羁的心 提交于 2020-03-18 05:27:12
当使用 sp_attach_db 系统存储过程附加数据库时- - Tag: 当使用 sp_attach_db 系统存储过程附加数据库时 //附加数据库 sp_attach_db 当使用 sp_attach_db 系统存储过程附加数据库时。 sp_attach_db:将数据库附加到服务器。 语法 sp_attach_db [ @dbname = ] 'dbname' , [ @filename1 = ] 'filename_n' [ ,...16 ] 参数 [@dbname =] 'dbname' 要附加到服务器的数据库的名称。该名称必须是唯一的。dbname 的数据类型为 sysname,默认值为 NULL。 [@filename1 =] 'filename_n' 数据库文件的物理名称,包括路径。filename_n 的数据类型为 nvarchar(260),默认值为 NULL。最多可以指定 16 个文件名。 参数名称以 @filename1 开始,递增到 @filename16。文件名列表至少必须包括主文件,主文件包含指向数据库中其它文件的系统表。 该列表还必须包括数据库分离后所有被移动的文件。 返回代码值:0(成功)或 1(失败) eg:下面的示例将 pubs 中的两个文件附加到当前服务器。 EXEC sp_attach_db @dbname = N'pubs',