MySQL基础(三)

一、批量插入语句
    insert into tablename(col1,col2) values (val1,val2),(val3,val4);
   使用单个insert处理多个插入比使用多个insert快。

二、插入检索出的数据
    insert into table1(col1,col2) select col3,col4 from table2。

三、删除数据
    delete from table;
    如果要删除表中所有的行,可以使用truncate table;它完成相同的工作,但速度更快,truncate实际是删除原来的表,并重新创建表。

四、创建表
    insert table tablename(
       col1 int not null auto_incrrement,
       col2 char(50) null,
       primary key (col1)
   )engine=innoDB;

五、引擎类型MyISAM和InnoDB
    MyISAM,每个表被存在分离的文件中。.frm文件存储表定义。数据文件的扩展名为.MYD (MYData),索引文件的扩展名是.MYI 。是一个性能极高的引擎,它支持全文搜索,但不支持事务处理。
     Memory功能等同于MyIsam,但由于数据存储在内存中,速度很快,适用于临时表。
    InnoDB 给 MySQL 提供了具有事务、回滚和崩溃修复能力、多版本并发控制的事务安全型表。InnoDB 提供了行级锁,提供与 Oracle 类似的不加锁读取。InnoDB锁定在行级并且也在SELECT语句提供一个Oracle风格一致的非锁定读。这些特色增加了多用户部署和性能。没有在InnoDB中扩大锁定的需要,因为在InnoDB中行级锁定适合非常小的空间。InnoDB也支持FOREIGN KEY强制。在SQL查询中,你可以自由地将InnoDB类型的表与其它MySQL的表的类型混合起来,甚至在同一个查询中也可以混合。这些特性均提高了多用户并发操作的性能表现。在InnoDB表中不需要扩大锁定,因为 InnoDB 的行级锁定适宜非常小的空间。InnoDB 是 MySQL 上第一个提供外键约束的表引擎。

六、更改表
    alert table table1 add col1 char(50);
   alert table table1 drop col1;

猜你喜欢

转载自lsg0220.iteye.com/blog/1630888