MySQL创建、操纵表以及数据库引擎

创建表:CREATE TABLE table_name。括号中包含列名,列的数据类型等属性。PRIMARY KEY指定主键。ENGINE=InnoDB执行数据库引擎为InnoDB。AUTO_INCREMENT表示每增加一行自增1。DEFAULT设定默认值。

CREATE TABLE customers

(

cust_id int NOT NULL AUTO_INCREMENT,

cust_name char(50) NOT NULL ,

cust_address char(50) NULL ,

cust_contact char(50) NULL ,

cust_email char(255) NULL ,

cust_name chart(20) NOT NULL DEFAULT 'DW',

PRIMARY KEY (cust_id)

) ENGINE=InnoDB;

添加一个列:ALTER TABLEvenddors ADD vend_phone CHAR(11);

删除一个列:ALTER TABLE vendordsDROP COLUMNvend_phone;

删除表:DROP TABLE vendors;

重命名表:RENAME TABLE customer2 TO customers3;

------------------------------------------

MySQL数据库引擎有InnoDB,MyISAM,Memory,Archive。先理解一下几个基本的概念。

一,几个基本概念

事务:事务应该是一组SQL语句或者把它看着一个独立的工作单元。如果数据库引擎能够成功对这组SQL执行,则执行;如果有一句无法执行,那么其他语句都不会执行。

写锁:又名排他锁,会阻塞其他读锁和写锁。读锁可以确保在给定时间里,只有一个用户能够执行写入操作。防止其他用户修改或读取正在写入的数据。

读锁:又名共享锁,读锁不相互阻塞。可以有多个用户同时读取。

行锁:行锁锁定一行。最大程度的支持并发处理。行锁冲突少,但速度慢。

表锁:表锁锁定整张表。这回阻塞其他用户对该表的所有读写操作。没有写锁时,其他用户才能获得读锁。表锁冲突多,但是速度快。

二,几个数据库引擎

InnoDB:存储支持事务,支持行锁,支持非锁定读,支持外键。

不支持事务,支持表锁,支持全文本搜索,最大缺点时奔溃后无法安全恢复。

Memory:该数据库引擎将表放在内存中,因此速度快,支持表锁,并发性差。只适用于临时数据的临时表。

Archive:只支持Insert和Select操作,支持行锁,但不是事务安全的存储引擎。具有强大压缩比,可以用来存储历史数据,日志信息等。

-------------end--------------

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180607G23BGR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券