文档章节

Database command

Nathans
 Nathans
发布于 2016/07/06 18:14
字数 619
阅读 13
收藏 0
点赞 0
评论 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;

 

© 著作权归作者所有

共有 人打赏支持
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
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
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
Hive Server对SQL语句的编译过程 : 前奏

上节说了,server接收到一个sql命令后,会编译此命令。 ====================================== 重点就在此了,继续往下看 ParseDriver pd = new ParseDriver(); ASTNode tree = pd.parse(co...

强子哥哥
2016/03/17
40
0
laravel 5.0 artisan 命令列表(中文简体)

c:wampwwwlv5>php artisan list Laravel Framework version 5.0.13 Usage: [options] command [arguments] Options(选项): --help (-h) Display this help message --quiet (-q) Do not outp......

hisense20112784
2017/08/12
0
0
Install Redmine on Centos 6.5

Install Redmine on Centos 6.5 - 64 bit Install Redmine on Centos 6.5 - 64 bit The System Requirements During the installation process we will use the Centos 6.5 - 64 bit OS, the......

Ericklee
2015/01/22
0
0
Data Guard Physical Standby Setup in Oracle Database 11g Release 2

Home » Articles » 11g » Here Data Guard Physical Standby Setup in Oracle Database 11g Release 2 Data Guard is the name for Oracle's standby database solution, used for disast......

rootliu
2017/10/27
0
0
MySQL Commands With Examples

The following MySQL Commands were originally split into several smaller blog posts that I had built up over the years, I have now consolidated the articles into a single post (f......

Ericklee
2015/03/05
0
0
Difference between TRUNCATE, DELETE and DROP commands

The DELETE command is used to remove the Tables data either selective or all and put the data in an rollback segment as well where from a read consistent view or a flashback vie......

长平狐
2012/09/19
52
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
1
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
0
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
0
0
Java工具类—随机数

Java中常用的生成随机数有Math.random()方法及java.util.Random类.但他们生成的随机数都是伪随机的. Math.radom()方法 在jdk1.8的Math类中可以看到,Math.random()方法实际上就是调用Random类...

PrivateO2
今天
2
0
关于java内存模型、并发编程的好文

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在...

DannyCoder
昨天
0
0
dubbo @Reference retries 重试次数 一个坑

在代码一中设置 成retries=0,也就是调用超时不用重试,结果DEBUG的时候总是重试,不是0吗,0就不用重试啊。为什么还是调用了多次呢? 结果在网上看到 这篇文章才明白 https://www.cnblogs....

奋斗的小牛
昨天
2
0
数据结构与算法3

要抓紧喽~~~~~~~放羊的孩纸回来喽 LowArray类和LowArrayApp类 程序将一个普通的Java数组封装在LowArray类中。类中的数组隐藏了起来,它是私有的,所以只有类自己的方法才能访问他。 LowArray...

沉迷于编程的小菜菜
昨天
0
0
spring boot应用测试框架介绍

一、spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit、spring test、assertj、hamcrest、mockito、jsonassert、jsonpath),但是在数...

yangjianzhou
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部