装哪个电视装墙上好还是放在桌面好

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
精典mysql入门教程-传智播客mysql-笔记
下载积分:3000
内容提示:精典mysql入门教程-传智播客mysql-笔记
文档格式:DOC|
浏览次数:7|
上传日期: 07:46:50|
文档星级:
全文阅读已结束,如果下载本文需要使用
 3000 积分
下载此文档
该用户还上传了这些文档
精典mysql入门教程-传智播客mysql-笔记
官方公共微信Oracle 11g Data Guard Broker操作笔记
1、设置broker
2、在主库上操作
DGMGRL& help
DGMGRL& help create
DGMGRL& CREATE CONFIGURATION c1 AS PRIMARY DATABASE IS PROD1 CONNECT IDENTIFIER IS PROD1;
DGMGRL& help add
DGMGRL& ADD DATABASE DG AS CONNECT IDENTIFIER IS DG;
DGMGRL& help enable
DGMGRL& ENABLE CONFIGURATION;
DGMGRL& help show
DGMGRL& SHOW CONFIGURATION;
最好加一下read only,因为有时broker有时会把它拉回到mount状态!!!
SQL& select open_mode from v$
SQL& select flashback_on from v$
FLASHBACK_ON
SQL& show parameter recovery
NAME TYPE VALUE
SQL& alter d
二、snapshot
DGMGRL& help convert
DGMGRL& CONVERT DATABASE DG TO SNAPSHOT STANDBY; ---如果这里有失败可能是监听DG_DGMGRL没设
DGMGRL& SHOW CONFIGURATION;
Table created.
SQL& insert into t1 values(1,'AAAA');
1 row created.
Commit complete.
三、还原到物理备库
DGMGRL& CONVERT DATABASE DG TO PHYSICAL STANDBY; ---如果这里有失败可能是监听DG_DGMGRL没设
四、来回切换库
1、在主库PROD1上操作
Configuration
Fast-Start Failover: DISABLED
Current status for &c1&:
DGMGRL& help switch
Switch roles between the primary database and a standby database
SWITCHOVER TO &standby database name&;
DGMGRL& SWITCHOVER TO DG;
Database dismounted.
DGMGRL& SHOW CONFIGURATION
Configuration
Fast-Start Failover: DISABLED
Current status for &c1&:
DGMGRL& SWITCHOVER TO PROD1
Database dismounted.
五、修改传输模式
DGMGRL& SHOW DATABASE VERBOSE PROD1
DGMGRL& help edit
DGMGRL& EDIT DATABASE PROD1 SET PROPERTY LogXptMode=SYNC; ---主库
DGMGRL& EDIT DATABASE PROD1 SET PROPERTY LogXptMode=SYNC; ---主库
DGMGRL& EDIT CONFIGURATION SET PROTECTION MODE AS MaxA ---主库
以上Error: ORA-16627: 错误马上消失。。。。
++++备库的一些基本命令可以记下:
Database altered.
SQL& alter database recover managed sta
Database altered.
Database altered.
六、故障切换
DGMGRL& ENABLE FAST_START FAILOVER;
DGMGRL& help start
DGMGRL& START OBSERVER
17:05:29.04 Friday, November 21, 2014
(2)stop observer(观察到上面的信息就停止掉,以防来回切换)
SQL*Plus: Release 11.1.0.7.0 - Production on Fri Nov 21 17:10:14 2014
Copyright (c) , . All rights reserved.
Connected to an idle instance.
Total System Global Area
Configuration
Fast-Start Failover: ENABLED
Current status for &c1&:
DGMGRL& SWITCHOVER TO PROD1
DGMGRL& DISABLE FAST_START FAILOVER;
DGMGRL& SHOW CONFIGURATION;
Configuration
Fast-Start Failover: DISABLED
Current status for &c1&:
DGMGRL& switchover to prod1;
-----------------------------------&这个错误的一般出现在VM中。。。
Performing switchover NOW, please wait...
Current status for &prod1&:
Database dismounted.
Configuration
Fast-Start Failover: DISABLED
Current status for &c1&:
Database dismounted.
Configuration
Fast-Start Failover: DISABLED
Current status for &c1&:teradata&中的一些sql命令
HELP 帮助用户了解数据库中各种对象的结构
SHOW 帮助用户了解某种对象的定义,即返回其DDL语句
EXPLAIN 返回一个SQL语句经优化处理后的执行步骤,注意并未真正执行
FALLBACK 对数据加以保护的一种方式,是冗余的备份
RENAME 对表重命名
NULLIFZERO 对数据作累计处理时,忽略零值
ZEROIFNULL 对数据作累计处理时,将空值作零处理
WITH...BY 对详细数据记录作分类统计(Sub-Total)时有用
MODIFY USER/DATABASE& 对用户/数据库对象作动态修改而无需数据库重组
参数&&&&&&&&&&
HELP DATABASE&
可以显示一个指定数据库所包含的所有对象
HELP USER& 显示某个用户中所包含对象的信息
HELP TABLE& 显示某张表的信息
HELP VIEW& 显示某个视图的信息
HELP MACRO& 显示某个宏的信息
HELP COLUMN table or viewname.*;&
显示表/视图的各列的信息
HELP COLUMN table or viewname.colname . . .,
& 显示表/视图某几列的信息
HELP INDEX& 显示某个表中的所有索引定义
HELP STATISTICS& 显示表的统计
HELP CONSTRAINT table or viewname.&
显示定义在某个表/视图上的约束定义
HELP JOIN INDEX join_& 显示连接索引的定义
HELP TRIGGER& 显示触发器的信息
HELP PROCEDURE& 显示存储过程的信息
HELP PROCEDURE procedurename ATTRIBUTES;
HELP 'SQL';& 得到所有SQL命令的列表信息
HELP 'SQL sqlcommand';& 得到某个特定SQL命令的使用方法
如要知道这些数据库对象是用什么样的DDL命令创建的,则要使用SHOW命令:
SHOW命令 参数
SHOW TABLE T
SHOW VIEW V
SHOW MACRO M
SHOW INDEX T
SHOW JOIN INDEX join_
SHOW TRIGGER T
SHOW PROCEDURE P
EXPLAIN命令:利用EXPLAIN命令,可以了解Teradata执行一个SQL交易请求的详细过程和计划,这对于更进一步地理解Teradata的查询处理机制有很大的帮助。另一方面,对于复杂SQL交易的调试来说,这也是不可缺少的一个工具。
利用EXPLAIN解释一个SQL交易的方法很简单,就是在原来SQL语句的前面加上EXPLAIN即可,其它完全不变。
在LIKE结构的字符串中,'%'和'_'可以作为通配符使用,但是如果需要匹配这些字符本身(比如查找95%),即把它们作为一般字符时使用,我们可以通过定义ESCAPE字符来达到这个目的,紧跟在ESCAPE字符后的’%’和’_’作为一般字符看待。
LIKE ''%A%�A__'' ESCAPE ''A''
在这个表达式中,将字母A定义为ESCAPE字符,其中:
! 第一个%为通配符;
! 第一个A和其后的%联合表示字符%;
! 第三个%为通配符;
! 第二个A和其后的A联合表示字符A;
! 第四个A和其后的’_’联合表示字符_;
! 最后一个’_’为通配符。
对于表达式的操作数如果是字符,ANSI标准中是区分大小写的,如果不要区分大小写,可以使用UPPER函数将其转换成大写字母来进行匹配。Teradata缺省不区分大小写,如果要区分,可以使用其扩展参数CASESPECIFIC。
NULL的使用
NULL的说明:
! NULL显示没有数据的字段
! NULL表示不存在或未发现的值
! NULL既不是数字类型也不是字符类型
! 具有NULL值的字段可以被压缩,不占任何空间
NULL也可以参与运算,其运算规则为:
! NULL在算术运算中产生的结果为NULL(空)
! NULL在比较运算中产生的结果为False
! UNKNOWN DATA, MISSING DATA和NULL是同样的含义
! 当进行升序排列时,NULL在数字列排列在负数前,在字符列排列在空格
CREATE MACRO macroname AS ( . . . );& 定义宏
EXECUTE& 执行宏语句
SHOW MACRO& 显示宏定义
REPLACE MACRO macroname AS ( . . . );& 改变宏定义
DROP MACRO& 从字典中删除宏定义
EXPLAIN EXEC& 显示宏执行的解释
EXISTS在子查询中的使用
EXISTS可以使用在子查询中,用来表示查询至少返回一行。如果前面加上否定词NOT,则表示查询时无记录存在。EXISTS可以代替IN,而NOT
EXISTS可以代替NOT IN。
CHARACTERS函数
CHARACTERS函数也是Teradata的扩展,用于计算VARCHAR型数据字段的实际字符串长度。CHARACTERS函数可以简写成CHARACTER、CHARS或者CHAR。
ANSI标准的TRIM函数用于去除字符数据中前头或后端的空格或者二进制数据(BYTE与VARBYTE)中前头或后端的零。在Teradata缺省模式下,TRIM
(&expression&)只能去除后端的空格或二进制零。
SELECT CAST (salary_amount AS FORMAT ''$$$,$$9.99'');
SELECT (1000/salary_amount) * 100
(FORMAT 'ZZ9%')
(TITLE 'Increase Percentage')
FROM employee
WHERE employee_number = 1004;
SELECT (CAST (1000/salary_amount) * 100 AS FORMAT 'ZZ9%'
TITLE 'Increase Percentage') FROM ...
FORMAT短语中可以使用的格式化字符主要为:
$ 美元标识符
Z 将数字中的前缀零去除
, 在指定位置插入逗号
. 指定小数点位置
- 在指定位置插入连字号
/ 在指定位置插入斜线
% 在指定位置插入百分号
X 字符数据,每个X代表一个字符
G 图形数据.一个G代表一个逻辑字符(双字节)
B 在指定位置插入空格
对日期的格式化处理
在Teradata中,日期数据的缺省输出格式是:YY/MM/DD,这和ANSI标准是一样的。而ANSI标准建议的日期显示格式是:YYYY-MM-DD。
其它一些常用的日期显示格式列举如下,其中的B表示空格。
&& YYYY/MM/DD'
&& YYYY-MM-DD'
&& YYYY.DDD'
&& DBMMMBYYYY'
&& MMBDD,BYYYY'
&& YYYYBMMMBDD'
&& YY/MM/DD'
&& D-MM-YY'
下面是一些对日期进行格式化的例子。
句法&&&&&&&&&&&&&&&&&&&&&&&
'YYYY/MM/DD'&&&&&&&&
'DDbMMMbYYYY'&&&&&&&
27 Mar 1996
'mmmBdd,Byyyy'&&&&&&
Mar 27, 1996
'DD.MM.YYYY'&&&&&&&&
27.03.1996
'MM/DD/YY'&&&&&&&&&&
'MMM.DD.YY'&&&&&&&&&
&& FORMAT 'yy -- mm --
96 -- 03 -- 27
'DDDYY'&&&&&&&&&&&&&
SELECT last_name,first_name,hire_date (FORMAT 'mmmBdd,Byyyy')
FROM employee
ORDER BY last_
利用FORMAT短语,可以将字符字段或表达式进行截取处理,这种处理只影响显示格式,而不会影响数据的内部存储格式。
Teradata的属性函数
属性函数&&&&
返回信息说明
TYPE&&&&&&&&
TITLE&&&&&&&
FORMAT&&&&&&
NAMED&&&&&&&
CHARACTERS&& 字符个数
Teradata DDL允许在创建表时指定表的物理属性,包括:
&& A. SET 不允许记录重复,例:CREATE SET
TABLE table1 ...
&& B. MULTISET 允许记录重复,例:CREATE
MULTISET TABLE table1 ...
&& C. 数据保护要结合FALLBACK和JOURNAL
(流水或日志)。
FALLBACK是Teradata的一种数据保护机制,数据表的每一条记录都同时存放两份,而且位于不同的AMP所控制的存储单元中;当数据发生问题或者AMP失败时,可以利用存放在其他AMP上的数据保证对数据表的访问。
- FALLBACK 使用FALLBACK保护机制
- NO FALLBACK 不使用FALLBACK保护机制
日志有BEFORE和AFTER两种,分别保存了一条记录变化前后的状态。当系统出错时,可以利用日志进行恢复。
&& D. 存储空间选项
DATABLOCKSIZE用来指定数据块大小,最小的数据块为6144字节,最大的数据块是32256字节。
FREESPACE用来定义在每个磁盘柱面上保留的空间(0-75%)。
CREATE MULTISET TABLE table_1
, FALLBACK, NO JOURNAL
, FREESPACE = 10 PERCENT
, DATABLOCKSIZE = 16384 BYTES
(field1 INTEGER);
虽然TD的DDL里有primary key,但是实际上存储在TD数据字典里的只有index:
&& A. 没有在CREATE TABLE时指定PI
IF 定义了PK,THEN PK = UPI
ELSE IF 存在定义为UNIQUE的字段,
THEN 第一个NIQUE的字段为UPI
ELSE 表中定义的第一个字段作为NUPI
&& B. CREATE TABLE时指定了PI
IF 定义了PK,THEN PK作为USI
AND为每一个定义为UNIQUE的字段建立一个USI
新建一张表TB1,表结构与TB2一样,不需要数据。
&&& Create table
TB1 as TB2
使用子查询创建表,并选择所需的列。
&&& CREATE TABLE
emp1 AS(SELECT employee_number, department_number, salary_amount
FROM employee) WITH NO DATA;
往TB1表中装入TB2表的数据(也可以是有选择性的,需指定字段)
&&& INSERT INTO
TB1 SELECT * from TB2;
交易完整性
在Teradata中,系统将保证一个交易的完整。怎样才算是一个交易呢,在Teradata中,根据其所处方式的不同在处理时也有所不同。在
Teradata缺省模式下,以分号结束的每个SQL语句都是一个完整的交易,也可以使用BT (Begin Transaction)和ET
(End Transaction)来显示地定义一个交易。下面看一个例子:
&& 缺省方式
&& INSERT row1; (txn #1)
&& INSERT row2; (txn #2)
&& .LOGOFF
&& 用BT和ET显示定义交易
&& INSERT row1; (txn #1)
&& INSERT row2;
&& COMMIT WORK;
&& .LOGOFF
第一部分中有两个SQL语句,用分号结束,表示两个交易,任何一个失败不会影响另一个的执行。而第二部分用BT和ET显示地规定:在BT和ET之间的所有
SQL是一个交易,只有最后的COMMIT
WORK执行成功后,才会真正地更新数据库。执行过程中任何一个SQL语句失败,都会使整个交易失败,系统将自动进行恢复(Rollback)处理。
在ANSI方式下,必须进行显示地提交才能完成一个交易。
利用WITH BY进行数据小计
&& WITH BY的主要特点包括:
A. 它为明细数据表创建分类小计。
B. 跟GROUP BY不同的是,WITH BY没有剔除明细记录,而是在明细记录后面按照分类增加小计行。
C. 可以允许多于一个字段进行小计,即小计当中可以嵌套小计。
D. 输出结果将根据BY后面的所有字段自动进行排序。
E. 它是Teradata的一个扩展特性。
1. WITH BY, WITH和ORDER BY的联合使用:
SELECT last_name AS NAME
,salary_amount AS SALARY
,department_number AS DEPT
FROM employee
WITH SUM (SALARY) BY DEPT
WITH SUM (SALARY) (TITLE 'GRAND TOTAL')
ORDER BY NAME;
结果如下:
NAME&&&&&&
Kanieski&&
29250.00&& 301
Stein&&&&&
29450.00&& 301
-------------
Sum (SALARY) 58700.00
Johnson&&&
36300.00&& 401
Trader&&&&
37850.00&& 401
-------------
Sum (SALARY) 74150.00
Ryan&&&&&&
31200.00&& 403
Villegas&&
49700.00&& 403
-------------
Sum (SALARY) 80900.00
-------------
GRAND TOTAL
2. WITH和GROUP BY的联合使用:
SELECT department_number (TITLE 'dept_no')
,SUM (salary_amount)
,AVG (salary_amount)
FROM employee
GROUP BY department_number
WITH SUM (salary_amount) (TITLE 'GRAND TOTAL')
,AVG (salary_amount) (TITLE '')
ORDER BY department_
结果如下:
dept_no SUM (salary_amount) AVG (salary_amount)
58700.00&&&&&&&&&&&
74150.00&&&&&&&&&&&
80900.00&&&&&&&&&&&
--------------------- ----------------------
GRAND TOTAL
集合操作主要包括:合并操作(UNION)、相交操作(INTERSECT)和排外操作(EXCEPT)
Teradata的集合操作与标准ANSI集合操作的不同之出在于返回结果的重复记录处理上。在ANSI标准中集合操作将重复记录自动剔除,而Teradata增加了ALL关键词,ALL关键词允许保留重复记录。
我们将有关集合操作的一些补充规则列举如下:
1. 在子查询中不能使用集合操作
2. 在定义视图时不能使用集合操作
3. 不能包含WITH或WITH BY子句
4. 集合操作的优先级为:INTERSECT第一,其后分别为UNION和 EXCEPT,从左到右。可以使用括号改变优先级。
5. 每一个SELECT语句必须有一个FROM &表名&的子句
6. 每个单独的SELECT语句中可以使用GROUP BY
7. Group By不能用于或影响整个返回结果集
8. 重复记录将会抛弃,除非使用ALL选项
字符串函数
SUBSTRING函数:用来从字符串中析取一个子字符串,其格式为:
&&& SUBSTRING
(&字符串表达式& FROM
&开始位置& [ FOR
&&& SELECT
SUBSTRING('catalog' FROM 5 FOR 3);
结果为log。
字符串合并:字符串合并的符号是"||",它把两个字符串串联成一个字符串。其基本格式为:
&字符串1& ||
(字符串定位函数):INDEX用来在一个字符串中定位一个子串的开始位置。如下面的例子:
&&& SELECT
INDEX('abc', 'b'); 返回结果2
CASE 表达式
基于值(Valued)的CASE语句,例如:
SELECT SUM(
CASE department_number
WHEN 401 THEN salary_amount
END) / SUM(salary_amount)
基于搜索(Searched)的CASE语句,例如:
SELECT last_name,
WHEN salary_amount & 30000
THEN 'Under $30K'
WHEN salary_amount & 40000
THEN 'Under $40K'
WHEN salary_amount & 50000
THEN 'Under $50K'
'Over $50K'
FROM employee
ORDER BY salary_
NULLIF表达式
NULLIF实际上用来作为CASE语句在某种情况下的缩写,其格式为:
NULLIF ( &expression1& ,
&expression2& )
&&&&&&&&&&
如果表达式1等于表达式2,则返回NULL
&&&&&&&&&&
如果表达式1不等于表达式2,则返回表达式1的值。
&&&&&&&&&&
SELECT call_number
&&&&&&&&&&
,labor_hours (TITLE 'ACTUAL HOURS')
&&&&&&&&&&
,NULLIF (labor_hours, 0)
&&&&&&&&&&
(TITLE 'NULLIF ZERO HOURS')
&&&&&&&&&&
FROM call_employee
&&&&&&&&&&
ORDER BY labor_
注意:在除法表达式中,如果被除数有可能为零值,经常使用NULLIF来避免除零错。
D. COALESCE(接合)表达式
COALESCE实际上也是CASE语句在某种特殊情况下的宿写。COALESCE将返回第一个非NULL表达式的值。其格式为:
COALESCE ( &expression1& ,
&expression2& [,
&expressionX& ] )
例:从phone_table表中,列出姓名和电话号码,如果办公室电话存在则列出办公室电话,否则列出家里电话。
&&&&&&&&&&&
SELECT name
&&&&&&&&&&&
,COALESCE (office_phone, home_phone)
&&&&&&&&&&&
FROM phone_
例:转换可能的NULL值为零:
&&&&&&&&&&&
SELECT course_name
&&&&&&&&&&&
,COALESCE (num_students, 0)
&&&&&&&&&&&
(TITLE '# Students')
&&&&&&&&&&&
FROM class_
简单排队RANK
排队函数(RANK)的语法是:
RANK(colname)
这里,colname表示排队的列名,其结果降序排列。
显示商店1001的产品销售额排队。
SELECT storeid, prodid, sales, RANK(sales)
FROM salestbl
WHERE storeid = 1001;
storeid&&&
sales&&&&&&&
1001&&&&&&
1001&&&&&&
1001&&&&&&
60000.00&&&&
1001&&&&&&
35000.00&&&&
如上所示,列Rank的最大值代表最低的销售额。
带限定的排队
QUALIFY子句限制排队输出的最终结果。QUALIFY子句与HAVING子句类似,使输出限制在一定范围内。
按商店得到销售前3名的产品。
SELECT storeid, prodid, sales, rank(sales)
FROM salestbl
GROUP BY storeid
QUALIFY rank(sales) &= 3;
sales&&&&&&
60000.00&&&
35000.00&&&
40000.00&&&
35000.00&&&
25000.00&&&
65000.00&&&
50000.00&&&
30000.00&&& 3
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。数据库Mysql学习笔记(一) - 叶月枫 - 博客园
Mysql 数据库是数据库初学者最佳的选择的,其语法简单,采用的非底层的SQL语言定义(DDL)、操作(DML)、控制(DCL)数据库.
入门知识:服务器、库、表.
(1)安装Mysql服务器、配置文件、数据和路径.Mysqld.exe是服务器端,再安装满足服务器端通信规范的客服端(客服端不唯一)如不同浏览器,基于命令行的Mysql黑窗口,Mysql_fornt,navcat,基于Web的phpMyAdmin. &(初学者建议使用基于命令行的Mysql黑窗口,可熟悉windows中的cmd环境)
(2)连接服务器,采用Mysql 地址 用户名 密码,如mysql &-host(-h) localhost -u root -p &输入密码或mysql -u root -p输入密码.
(3)进入查看库,Mysql 数据库中有四个库information_schma (关于基本信息)、mysql(关于用户)、performance_schma(关于优化信息),这三个库是系统库。另外一个库test是可直接操作库,
以后的delete,update,modify,select都是在test上.
(4)入门语句: & &--查看所有数据库 &--创建一个名为php的数据库 &use php--使用php库,库的名字是不能修改的,但是表的名字可以修改
--创建一张表 & rename tabl-- 重命名表 ,--删除表/库有两种方式dorp delete如dorp datebase test & &--显示所有表名 description 或--显示表中的内容.
create table msg(
title&varchar(20),
name varchar(20),
content varchar(1000)
);--制作一张班级表,建表无非是声明列的过程
(5)增删改查四个基本语句:首先考虑字符集不兼容问题:默认建表一般用utf8,但是我们在window下的命令行窗口是GBK的,因此需要声明字符集:
(否则会黑窗口会报错1366)
#往msg表中增加一行数据(增加)
insert into msg (id,title,name,content)
values(1,'张三','初来乍到','能不能当老大?');
select *--查表msg所有列(查询)
insert into msg (id,title,name,content)
values(1,'李四','又来了','你只能千年老二');--李四的标号id写错需要修改
#修改:update msg
set id=2,content='偏要当老大' &where name='李四';--where 条件说明修改哪一行
select *--查询新表按列显示
insert into msg (id,title,name,content)
values(3,'3标题,'刘备','雌雄双剑'),
values(4,'3标题','关羽','青龙偃月刀'),
values(5,'5标题','张飞','丈八蛇矛');
select *--查询新表按列显示
#删除(按照行删除,用条件where定位)
delete from msg where &id=2;--删除第二行
#查询 &select id,--只查询id,title两列
select *from msg where id&2;--只查看刘,关,张所有列
select name,content from msg where id&2;--只查看刘,关,张的名字和武器

我要回帖

更多关于 电视装墙上好还是放在桌面 的文章

 

随机推荐