文档章节

Database command

Nathans
 Nathans
发布于 2016/07/06 18:14
字数 619
阅读 14
收藏 0
SQL

Database command

Table Constraint

  对表的列属性、column进行的限制。例如:not null、unique、primary key、foreign key、check。

1.create table,add the attribute constraints.

create table user(
  id int,
  name varchar(40) not null,
  id_card varchar(20) not null unique,
  phone_number varchar(11) not null,
   age int(4),
  class_id int(4),
  constraint user_id_pk primary key(id),
  constraint user_phone_number_uk unique(phone_number),
  constraint user_class_id_fk foreign key(class_id) references `class`(id) ON DELETE CASCADE
)

 the  " constraint " is table level constraints , the " not null " is column level constraints。

2.add and remove table constraints, after the new table, can only add and remove constraint, cannot be modified

2.1 add constraints

alter table user add constraint user_age_ck check(age < 100);

2.2 add "not null" constraints

alter table user modify(age not null);

2.3 disable and enable constraints

-- disable constraint user_age_ck
alter table user disable constraint user_age_ck;
-- enable constraint user_age_ck
alter table user enable constraint user_age_ck;

Copy table or table data

  copy table structure and data,but the destination table must not exist。

SELECT * INTO NEW_TABLE FROM OLD_TABLE; 

注意:复制表的同时表的约定并不能复制过来。

如果是只复制表结构、不复制数据,只需要在where子句中添加一个永远不等于true的条件即可。

SELECT * INTO NEW_TABLE FROM OLD_TABLE WHERE 1 = 0;

Copy table data to a new table

INSERT INTO NEW_TABLE SELECT * FROM OLD_TABLE; 

当表结构不同或复制部分字段可以设置插入相应的字段。例如:

INSERT INTO NEW_TABLE(name,age,address,phone) SELECT name,age,address,phone FROM OLD_TABLE;

Index

  索引是一个设计用来提供整个数据库操作速度的数据库对象,它通过创建一个内部的索引表来达到快速搜索的目的。

  索引可以降低insert、update和delete操作的性能,因为每次这些操作发生时,内部索引结构需要被更新(或者行被重新安排)。基于此原因,太多的索引会降低数据库的整体性能,因此要仔细调整。

  当列被用于表连接或者与其它表有外键关系,并且列出现在where或者order by子句中时,在列上设置索引,是一个通用的技巧规则。

  索引可以是唯一的和非唯一的。唯一索引不允许在索引列上出现重复值。

  唯一索引通常创建在有主键或唯一约束的列上。

  创建索引的关键字为create index,在其后要指明创建的索引的名称,在括号内列出索引表的字段(可以为多列)。

CREATE INDEX index_name ON table(column_1,column_2);

Create a non unique index

CREATE INDEX index_name ON table(column);

Create unique index,要添加unique关键字

CREATE UNIQUE INDEX index_name ON table(column);

Delete index

删除索引的SQL命令是drop index

DROP INDEX table_name.index_name;

 

© 著作权归作者所有

共有 人打赏支持
上一篇: Mutli-thread
下一篇: Thread Communication
Nathans
粉丝 4
博文 18
码字总数 28409
作品 0
成都
程序员
私信 提问
MySQL Backup and Restore Commands for DBA

MySQL Backup and Restore Commands for Database Administration by Ravi Saive | Published: November 2, 2012 | Last Updated: January 3, 2015 Download Your Free eBooks NOW - 10 Free......

rootliu
06/27
0
0
How to Back Up and Restore a MySQL Database

Reference: http://webcheatsheet.com/sql/mysqlbackuprestore.php If you're storing anything in MySQL databases that you do not want to lose, it is very important to make regular b......

perfectspr
2014/11/05
0
0
How to Backup SAP HANA Database using Command Line

How to Backup SAP HANA Database using Command Line Updated on January 7, 2014 by Rahul K. Databases SAP HANA is an in-memory data platform that is deployable as an on-premise ap......

rootliu
09/28
0
0
oracle 使用sqlplus

A Using SQL Command Line This section provides an introduction to SQL Command Line (SQL*Plus), an interactive and batch command-line query tool that is installed with Oracle Dat......

Oscarfff
2016/07/05
65
3
Oracle 11g R2 Dataguard configuration step by step

Oracle 11g R2 Dataguard configuration step by step Date: March 17, 2016 Author: Shripal Singh (DBA) Note:- Oracle Database RDBMS software installed with one database on the PRIM......

rootliu
2017/10/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

React和Redux的连接react-redux

通过Redux文档来了解react-redux,在一段时间的实践后准备翻一翻源代码,顺便做些相关的总结。我看的代码的npm版本为v4.0.0,也就是说使用的React版本是0.14.x。 react-redux提供两个关键模块...

前端攻城老湿
24分钟前
0
0
1、Mybatis连接池Context.xml配置

注意: (1)mybatis 3.2 之前 通过 set get 方法 获取相关属性。之后通过属性姓名获取相关关联。 (2)mybatis 映射 优先为 sql 语句中的别名与实体类的属性进行映射。 (3)jndi Java用于调...

KingFightingAn
40分钟前
0
0
Android 界面漩涡扭曲动效实现

背景:之前偶然看到优酷有类似的页面切换动画效果。于是自己也打算来实现下这样的效果。 动效说明:点击界面中的任意位置,界面以点击位置作为中心点,开始以漩涡状态,扭曲,收缩。直到消失...

Carlyle_Lee
50分钟前
2
0
聊聊我怎么系统学习Linux技能并快速提高的

聊聊我怎么系统学习Linux技能并快速提高的 随着电子信息科技时代的发展,学会使用计算机在我们的生活中成为了必不可少的一项技能。而作为计算机中的三大操作系统之一的Linux更是饱受计算机爱...

linuxCool
今天
4
0
Android/Java 获取一个byte[]的真实编码,用于解决乱码问题

来源地址:https://blog.csdn.net/qq_31384551/article/details/81627840 一个byte数组,byte[] buf,是由一个字符串转换来的,如何判断字符串使用的是什么编码? Mozilla的一个组件提供了相应...

她叫我小渝
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部