SQL语句不区分大小写

创建数据库

create database myData

删除数据库

drop database myData

创建表

create table company (
code int(6) PRIMARY KEY,
name varchar(20) NOT NULL
); create table mybook(
id int auto_increment primary key,
bookId varchar(20),
bookName varchar(20),
bookType int(5),
companyNo int(6),
  foreign key (companyNo) references company (code)
);

表中新增一列

alter table company add  column country varchar(20);

删除主键

主键不自增

alter table company drop primary key;

如果主键自增的话需要先改变自增 例如:删除图书表的主键
1.alter table mybook change id id int;
    
恢复主键自增:alter table mybook change id id int auto_increment
2.alter table mybook drop primary key;

增加主键

alter table company add primary key(id);

查看索引

show index from mybook;
  或者
show keys from mybook;

创建索引

 
create index myIndex on company(code);
create unique index myIndex  on company(code)

CREATE INDEX可对表增加普通索引或UNIQUE索引。不能用CREATE INDEX语句创建PRIMARY KEY索引。

alter table company add index myIndex(code);

alter table company add unique (code); 

alter table company add primary key(code);  

索引类型:

1.PRIMARY KEY (主键索引)   alter table table_name add primary key ( `column` )

2.UNIQUE 或 UNIQUE KEY (唯一索引) alter table table_name add unique (`column`)

3.FULLTEXT (全文索引) alter table table_name add fulltext (`column` )

4.INDEX (普通索引) alter table table_name add index index_name ( `column` )

5.复合索引 (多列索引) alter table `table_name` add index index_name ( `column1`, `column2`, `column3` )

我们创建了(a1, b2,c3)的复合索引,那么其实相当于创建了(a1,b2,c3)、(a1,b2)、(a1)三个索引,这被称为最佳左前缀特性。因此我们在创建复合索引时应该将最常用作限制条件的列放在最左边,依次递减。

删除索引

drop index myIndex on company;
alter table company drop index myIndex ;

alter table company drop primary key ;

创建视图

create view myView as select b.bookid,a.name,b.bookname from company a,mybook b where b.companyNo=a.code

视图相对于普通的表的优势主要包括以下几项:

<1> 简单:使用视图的用户完全不需要关心视图中的数据是通过什么查询得到的,视图中的数据对用户来说已经是过滤好的符合条件的结果集;

<2> 安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行或某个列,但是通过视图就可以简答地实现;

<3> 数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,原表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。

删除视图

drop view myView

视图的限制:
<1> 不能在视图上创建索引
<2> 在视图的FROM子句中不能使用子查询; 变通:可以将from字句的子查询创建成一个视图 最后变成 create view newView from tableA,oldView where... 其中oldView就是原始from中子查询

查看视图

show tables

查看视图的定义:
show create view myview;

更改视图

alter view mybiew  as select_statement

mysql基础(一)——表、索引、视图的更多相关文章

  1. MySQL基础(4) | 视图

    MySQL基础(4) | 视图 基本语法 1.创建 CREATE VIEW <视图名> AS <SELECT语句> 语法说明如下. <视图名>:指定视图的名称.该名 ...

  2. MySQL基础(五)——视图

    MySQL基础(五)--视图

  3. mysql基础-数据库表的管理-记录(四)

    0x01 MySQL中字符大小写 1.SQL关键字及函数不区分大小写 2.数据库.表及视图名称的大小写区分与否取决于底层OS及FS 3.存储过程.存储函数及事件调度器的名字不区分大小写,但触发器区分大 ...

  4. 总结: MySQL(基础,字段约束,索引,外键,存储过程,事务)操作语法

    1. 显示数据库列表 show databases; # 查看当前所有数据库 show databases \G   #以行的方式显示 2. 在命令行中,执行sql语句 mysql -e 'show ...

  5. mysql查看数据表索引信息

    查看索引 mysql> show index from tblname; mysql> show keys from tblname; · Table 表的名称. · Non_unique ...

  6. oracle中查询用户表/索引/视图创建语句

    不多说,直接上干货 1.查询当前用户下表的创建语句 select dbms_metadata.get_ddl('TABLE','ux_future') from dual; 2.查询其他用户下表的创建 ...

  7. mysql基础-数据库表简单查询-记录(五)

    0x01 MySQL的查询操作 单表查询:简单查询                 多表查询:连续查询                联合查询 选择和投影 投影:挑选要符合的字段     select ...

  8. MySQL基础学习之索引

    创建新表新索引 CREATE TABLE 表名(数据名 类型,INDEX  索引名称(属性)) 创建存在表的索引 CREATE INDEX 索引名称  ON 表名(属性) 修改索引 ALTER TAB ...

  9. MySQL基础之表的管理

    添加和删除字段操作 添加字段 alter table tbl_name add 字段名称 字段属性 [完整性约束条件] [first|after 字段名称之后]; 删除字段 alter table t ...

  10. 【MySQL基础总结】索引的使用

    索引的使用 概述 1.索引由数据库中一列或多列组合而成,其作用是提高对表中数据的查询速度 2.索引的优点是可以提高检索数据的速度 3.缺点是创建和维护索引需要耗费时间 4.所以索引可以提高查询速度,减 ...

随机推荐

  1. 分享今天在客户那里遇到的SQLSERVER连接超时以及我的解决办法

    分享今天在客户那里遇到的SQLSERVER连接超时以及我的解决办法 客户的环境:SQLSERVER2005,WINDOWS2003 SP2  32位 这次发生连接超时的时间是2013-8-5  21: ...

  2. textbox只允许输入数字

    private void txtUserId_KeyPress(object sender, KeyPressEventArgs e) { //如果输入的不是数字键,也不是回车键.Backspace键 ...

  3. eclipse在server中tomcat server找不到的问题

    想要在eclipse的server新建tomcat服务器然而不知道怎么回事找不到Tomcat 7.0 Server 下面的红圈是tomcat server服务器(更新后才出现) 网上找的很久,只是找到 ...

  4. python基础之os.system函数

    前言 os.system方法是os模块最基础的方法,其它的方法一般在该方法基础上封装完成. os的system原理 system函数可以将字符串转化成命令在服务器上运行:其原理是每一条system函数 ...

  5. CheckTimeWait.bat实现windows下的TimeWait检查

    原文链接: http://www.lookdaima.com/WebForms/WebPages/Blanks/Pm/Docs/DocItemDetail.aspx?id=c7bff196-cd9c- ...

  6. vc获取当前进程CPU使用率

    double GetCPUUserRate() { HANDLE hProcess=::GetCurrentProcess(); static DWORD s_dwTickCountOld = 0; ...

  7. 1-100求和 sum(range(101))

    print(sum(range(101))) s = 0for i in range(101): s += iprint(s)  

  8. spark任务调度和资源分配

    Spark调度模式 FIFO和FAIR     Spark中的调度模式主要有两种:FIFO和FAIR.    默认情况下Spark的调度模式是FIFO(先进先出),谁先提交谁先执行,后面的任务需要等待 ...

  9. [python]通过uiautomator实现返回当前程序包名

    # -*- coding: utf-8 -*- from uiautomator import device as d def getCurrentPackageName(): info = d.in ...

  10. 封装Ajax框架!(前言篇)

    Ajax技术就是利用javascript和xml实现异步交互的功能. 首先先来介绍一下Ajax相关知识点,如果这些你都会的话,请直接跳转到封装ajax框架!(代码篇) 一.Ajax对象的创建 1.创建 ...