SQL Server知识点回忆篇(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询 1. insert 如果sql server设置的排序规则不是简体中文,必须在简体中文字符串前加N, 为了防止乱码问题 ,) 2. update 语法格式: update  表名  set  列名=值  where 条件 3. delete 语法格式: delete from 表名 where 条件 使用delete时需谨慎,注意Where条件的控制,避免多删除数据.如果不加where条件,会将表…
---约束分5种:主键 外键 唯一 非空 检查5类约束 Oracle中分列级别约束 与 表级别约束 列级别约束:在创建表时再列上面加约束 例如: create table table11( stuno number(2) constraint table_pk primary key, tname varchar2(5)unique--唯一约束 ) 上面两个字段都是在列上面直接写的约束 :可选[constraint table_pk] primary key, 表级别约束: 例如: --表级别约…
目标: 1.添加和修改列 2.添加,enable,disable,或者remove约束 3.删除表 4.删除表中所有数据并回到表定义的初始状态(截断表) 5.修改对象的名字 6.给对象添加注释,从数据字典中查看注释 用到的命令: 1.Alter table : 1.添加和修改列 2.添加和删除约束 3.enable,disable约束 2.drop table命令移除表中所有行和表结构 3.rename,truncate,comment 4.当执行以上DDL语句时,事务自动提交 功能: 1.增加…
1) 加索引,添加时若未指定索引名,默认为字段名   mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]); 例子: mysql> alter table employee add index emp_name (name); 2) 加主关键字的索引(主键索引)    mysql> alter table 表名 add primary key (字段名); 例子: mysql> alter table employee add pr…
今天因为要对一套数据库的数据抽取进行io优化,希望通过修改表结构将抽取io降下来,因为抽取只针对标签HAVE_FLAG为"0"的值进行抽取,抽取之后更新HAVE_FLAG为其他值,所以计划将HAVE_FLAG在时间分区里面再按照"0"和其他值进行list分区,控制SQL扫描的范围,再配合索引,降低IO. 准备工作 提取表和索引的语句. SELECT DBMS_METADATA.GET_DDL(OBJECT_TYPE => 'TABLE', NAME =>…
--创建一个表 DROP TABLE TEST CASCADE CONSTRAINTS ; CREATE TABLE TEST(A VARCHAR(30),B VARCHAR(30)); --查看具体的权限 SELECT DISTINCT PRIVILEGE FROM DBA_SYS_PRIVS WHERE PRIVILEGE LIKE '%DIRECTORY%'; --用SYS用户授权给SCOTT GRANT CREATE ANY DIRECTORY TO SCOTT ; --授权后创建目录…
sqlserver和oracle修改表结构常用SQL Server:1.增加列  ALTER TABLE users ADD address varchar(30);2.删除列  ALTER TABLE users DROP COLUMN address;3.修改字段类型  ALTER TABLE users ALTER COLUMN address varchar(80);4.重命名列:  EXEC sp_rename 'WN_CALL_INFO.[CUST_CODE]', 'CUST_ID'…
[20171113]修改表结构删除列相关问题4.txt --//连续写了3篇修改表结构删除列的相关问题,链接如下: http://blog.itpub.net/267265/viewspace-2147158/http://blog.itpub.net/267265/viewspace-2147163/http://blog.itpub.net/267265/viewspace-2147196/ --//从redo记录日志内容看,日志仅仅记录偏移位置 (piece relative column…
[20171113]修改表结构删除列相关问题.txt --//维护表结构删除字段一般都是先ALTER TABLE <table_name> SET UNUSED (<column_name>); --//然后等空闲时候删除列.ALTER TABLE <table_name> DROP UNUSED COLUMNS CHECKPOINT <n>; --//参考文档:https://docs.oracle.com/cd/E11882_01/server.112/…
原文:http://www.ywnds.com/?p=4442 一.背景 MySQL大字段的DDL操作:加减字段.索引.修改字段属性等,在5.1之前都是非常耗时耗力的,特别是会对MySQL服务产生影响.在5.1之后随着Plugin Innodb的出现在线加索引的提高了很多,但是还会影响(时间缩短了),主要是在更改期间,会生成一个互斥锁,阻塞对整个表的所有操作.不过MySQL 5.6可以避免上面的情况,支持在线DDL操作了.但目前大部分在用的版本都是5.6之前的,所以DDL操作一直是运维人员头疼的…