文档章节

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
2018/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
2018/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

没有更多内容

加载失败,请刷新页面

加载更多

Windows 上安装 Scala

在安装 Scala 之前需要先安装 Java 环境,具体安装的详细方法就不在这里描述了。 您可以自行搜索我们网站中的内容获得其他网站的帮助来获得如何安装 Java 环境的方法。 接下来,我们可以从 ...

honeymose
24分钟前
0
0
数据库篇多表操作

第1章 多表操作 实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系...

stars永恒
今天
2
0
nginx日志自动切割

1.日志配置(Nginx 日志) access.log----记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;error.log------记录服务器错误的日志 #配置日志存储路径:location / {      a...

em_aaron
昨天
3
0
java 反射

基本概念 RTTI,即Run-Time Type Identification,运行时类型识别。RTTI能在运行时就能够自动识别每个编译时已知的类型。   要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运...

细节探索者
昨天
2
0
推荐转载连接

https://www.cnblogs.com/ysocean/p/7409779.html#_label0

小橙子的曼曼
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部