创建表: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 TABLE venddors ADD vend_phone CHAR(11);
删除一个列:ALTER TABLE vendords DROP COLUMN vend_phone;
删除表:DROP TABLE vendors;
重命名表:RENAME TABLE customer2 TO customers3;
------------------------------------------
MySQL数据库引擎有InnoDB,MyISAM,Memory,Archive。先理解一下几个基本的概念。
一,几个基本概念
- 事务:事务应该是一组SQL语句或者把它看着一个独立的工作单元。如果数据库引擎能够成功对这组SQL执行,则执行;如果有一句无法执行,那么其他语句都不会执行。
- 写锁:又名排他锁,会阻塞其他读锁和写锁。读锁可以确保在给定时间里,只有一个用户能够执行写入操作。防止其他用户修改或读取正在写入的数据。
- 读锁:又名共享锁,读锁不相互阻塞。可以有多个用户同时读取。
- 行锁:行锁锁定一行。最大程度的支持并发处理。行锁冲突少,但速度慢。
- 表锁:表锁锁定整张表。这回阻塞其他用户对该表的所有读写操作。没有写锁时,其他用户才能获得读锁。表锁冲突多,但是速度快。
二,几个数据库引擎
- InnoDB:存储支持事务,支持行锁,支持非锁定读,支持外键。
- 不支持事务,支持表锁,支持全文本搜索,最大缺点时奔溃后无法安全恢复。
- Memory:该数据库引擎将表放在内存中,因此速度快,支持表锁,并发性差。只适用于临时数据的临时表。
- Archive:只支持Insert和Select操作,支持行锁,但不是事务安全的存储引擎。具有强大压缩比,可以用来存储历史数据,日志信息等。