
1. 创建数据表
语法:
CREATE TABLE <表名> ([表定义选项])[表选项];CREATE [TEMPORARY] TABLE <表名> (字段名|数据类型[列级完整性约束条件][默认值][,字段名2 数据类型[列级完整性约束条件][默认值]][,....][,表级完整性约束条件])[ENGINE=引擎类型]
表定义选项:就是定义列选项
- 字段名|数据类型[列级完整性约束条件][默认值]
表选项,就是创建一个表的时候,对该表的整体设定,主要有如下几个:
- charset = 要使用的字符编码,
- engine = 要使用的存储引擎(也叫表类型),
- auto_increment = 设定当前表的自增长字段的初始值,默认是1
- comment = ‘该表的一些说明文字’
说明:
- 设定的字符编码是为了跟数据库设定的不一样。如果没有设置,其会自动使用数据库级别的设定;
- engine(存储引擎)在代码层面,就是一个名词:InnoDB, MyIsam, BDB, archive, Memory。默认是InnoDB。
- 什么是存储引擎?
存储引擎是将数据存储到硬盘的“机制”。不同的存储引擎,其实主要是从2个大的层面来设计存储机制:
- 尽可能快的速度;
- 尽可能多的功能;
选择不同的存储引擎,就是在权衡性能和功能
实例:
mysql>CREATE TABLE istester (->id INT(10) NOT NULL UNIQUE PRIMARY KEY,->uname VARCHAR(20) NOT NULL ,->sex VARCHAR(4) ,->birth YEAR,->department VARCHAR(20) ,->address VARCHAR(50) ,->idoxu VARCHAR(20)->);mysql>mysql>CREATE TABLE IF NOT EXISTS idoxu (->id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT ,->stu_id INT(10) NOT NULL ,->c_name VARCHAR(20) ,->istester VARCHAR(50) ,->grade INT(10)->)ENGINE=InnoDB DEFAULT CHARSET=utf8;

2. 复制数据表
1)只复制表结构到新表
语法:
CREATE TABLE <target_table_name> LIKE <source_table_name>;#或者CREATE TABLE <target_table_name> AS SELECT * FROM <source_table_name> WHERE 1=2; #其中 1=2 可写成其他假的表达式如 1<>1
注意:第二种方式复制表结构,并不是完全复制,表中字段的某些属性不会复制,比如primary key, unique等属性就没有复制。
实例:
mysql>create table istester2 like istester;# 或者mysql>create table idoxu2 as select * from idoxu where 1=2;
2)只复制表结构个别字段到新表
实例:
mysql>create table idoxu2 as select id,stu_id,istester from idoxu;# 不复制数据mysql>create table idoxu2 as (select id,stu_id,istester from idoxu where 1<>1);
3)复制表结构和数据到新表
语法:
CREATE TABLE <target_table_name> AS SELECT * FROM <source_table_name>;
实例:
mysql>create table idoxu2 as select * from idoxu;# 也可以mysql>create table istester2 like istester;mysql>INSERT INTO istester2 SELECT * FROM istester; # AS 可加也可不加

3. 查看数据表
语法:
SHOW TABLES;
实例:
mysql>use istester; #先进入数据库之后再看表mysql>show tables;
1)查看表结构
**
语法:
mysql>desc <table_name>;或mysql>show create table <table_name>;

4. 修改数据表
语法:
实例:

5. 删除数据表
语法:
DROP TABLE table_name ;# 或者DROP TABLE [IF EXISTS] <table_name_1> [ ,table_name_2, table_name_3 ...];
实例:
mysql>drop table istester2;mysql>mysql>drop table idoxu2, idoxu3;mysql>mysql>drop table if exists istester3;

