简单索引和insert、replace语句

1、建立索引

mysql> create index agei on student(age desc);   //agei是索引名,desc是降序

mysql> create index agei on student(age asc);   //asc是默认,升序

2、删除索引

mysql> alter table student drop index agei;

3、建立索引后,再使用select查询会增快查询速度

mysql> select * from student where Age > 18;

4、索引的缺点

占用磁盘空间,降低插入速度和修改速度

5、索引的优点

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息,加快数据库的查询速度

6、插入语句insert

mysql> create table student(

ID int unsigned auto_increment,

Name varchar(10),

Gender enum("男","女"),

Age tinyint unsigned default 18,               //如果不写年龄,默认为18

Score tinyint unsigned,

Address varchar(200),

primary key(ID) );

mysql> insert into student (Name,Gender,Score,Address) values ("张三","男",95,"北京市海淀区");   //插入语句,可以不插入Age字段信息,因为有默认值

7、将查询结果再插入表中

mysql> insert into student (Name,Gender,Age,Score,Address) select Name,Gender,Age,Score,Address from student;

8、无条件删除所有记录

mysql> delete from student;    //相当于把表清空

9、replace语句,在插入的时候如果指定主键,并且主键里面有插入的值,就替换

mysql> replace into student (ID,Name,Gender,Score,Address) values (1,"张三","男",95,"北京市海淀区");

mysql> replace into student (ID,Name,Gender,Score,Address) values (2,"张三","男",95,"北京市海淀区");

mysql> replace into student (ID,Name,Gender,Score,Address) values (2,"杨贵妃","女",100,"北京市朝阳区");    //次语句会把ID为2的数据给替换掉

原文地址:http://blog.51cto.com/12730062/2074251

时间: 2024-10-22 04:19:53

简单索引和insert、replace语句的相关文章

MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解

本篇文章是对MySQL数据库INSERT.UPDATE.DELETE以及REPLACE语句的用法进行了详细的分析介绍,需要的朋友参考下 MySQL数据库insert和update语句引:用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之意,就是对数据进行修改.在标准的SQL中有3个语句,它们是INSERT.UPDATE以及DELETE. 用 于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SEL

Sqlite执行insert or ignore 或insert or replace语句。

Sqlite执行insert or ignore 或insert or replace语句. insert or replace into cardlog (mid,type) values (7,0); insert or ignore into cardlog (mid,type) values (7,0); 上面的第一条语句是每次执行时,如果不存在,则添加,如果存在,则更新. 上面的第二条语句是每次执行时,如果不存在,则添加,如果存在,则不操作. 在MSSQL中,你可以使用诸如: IF N

vertica从其他表迁移数据到新表(insert into 语句用法实例)

前面一篇开始学习solr的时候,做了个入门的示例http://blog.csdn.net/zjc/article/details/24414271 .虽然可以检索出内容,但总和想象的结果有差异--比如,检索"天龙"两个字,按常规理解,就应该只出来<天龙八部>才对,可是竟然也会把<倚天屠龙记>检出来.后来研究了一下,发现系统是这样处理的:无论是抽索引时还是分析检索词时,都把所有文字按单字拆开.这样,刚好<倚天屠龙记>里包含"天"和&

mysql replace语句

语法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 REPLACE [LOW_PRIORITY | DELAYED]     [INTO] tbl_name     [PARTITION (partition_name,...)]      [(col_name,...)]     {VALUES | VALUE} ({expr | DEFAULT},...),(...),... Or: REPLACE [LOW_PRIORITY | DELAYED]     [

点评阿里JAVA手册之MySQL数据库 (建表规约、索引规约、SQL语句、ORM映射)

下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文内容:MySQL数据库 (建表规约.索引规约.SQL语句.ORM映射) 本文难度系数为三星(★★★) 本文为第四篇 第一篇 点评阿里JAVA手册之编程规约(命名风格.常量定义.代码风格.控制语句.注释规约) 第二篇 点评阿里JAVA手册之编程规约(OOP 规约 .集合处理 .并发处理 .其他) 第三篇 点评阿里JAVA手册之异常日志(异常处理 日志规约 ) 第四篇

慎用MySQL replace语句

语法: REPLACE [LOW_PRIORITY | DELAYED] [INTO] tbl_name [PARTITION (partition_name,...)] [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... Or: REPLACE [LOW_PRIORITY | DELAYED] [INTO] tbl_name [PARTITION (partition_name,...)] SET col_nam

MySQL中的replace语句

一.背景 当使用replace语句更新access_apps表时,原有的mark列.remark列的信息丢失. CREATE TABLE `access_apps` (   `base` varchar(11) NOT NULL DEFAULT '',   `business` varchar(64) NOT NULL DEFAULT '',   `owt` varchar(64) NOT NULL DEFAULT '',   `pdl` varchar(64) NOT NULL DEFAULT

8.INSERT INTO 语句 UPDATE 语句

1. INSERT INTO 语句 INSERT INTO 语句用于向表格中插入新的行. 语法 INSERT INTO 表名称 VALUES (值1, 值2,....) INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing') 我们也可以指定所要插入数据的列: INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) INSERT INTO Persons

hive insert into语句 和 insert overwrite语句

1.insert  into 语句 hive> insert into table userinfos2 select id,age,name from userinfos; 2.insert overwrite语句 hive> insert overwrite table userinfos2 select id,age,name from userinfos; 两者的区别: insert overwrite 会覆盖已经存在的数据,如被覆盖的表中有3条数据和要插入的一条数据相同,那么覆盖后只