创建表

1.基本语法

CREATE TABLE [IF NOT EXISTS] `表名` (    
  `字段名` 列类型 [属性] [索引] [注释],   
  `字段名` 列类型 [属性] [索引] [注释], 
  `字段名` 列类型 [属性] [索引] [注释], 
  ...
  ...
  `字段名` 列类型 [属性] [索引] [注释], 
  PRIMARY KEY (`id`)      
)[表类型][字符集设置][注释]

创建表时只有字段名和列类型是必填的,属性包括是否默认为空,自增什么的都是选填。注释放在最后,除了最后一句都必须加上逗号结尾。

2.示例
创建一个名叫student的表。
表里字段包括学号int,登陆密码,姓名,性别,出生日期,家庭住址,email。

CREATE TABLE IF NOT EXISTS `student` (
    `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',    --INT(4)显示长度为4,默认不为空,自增,注释为学号
    `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
    `password` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
    `sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别',
    `birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
    `address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
    `email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
     PRIMARY KEY (`id`)             --最后一句不加逗号
)ENGINE=INNODB DEFAULT CHARSET=utf8          --引擎INNODB,字符集CHARSET=utf8

注意事项:

  • 表的名称和字段尽量使用括起来,以免包含关键字。
  • auto_increment自增 , NOT NULL不为空,COMMENT注释,字符串使用单引号括起来。
  • 所有的语句后面都加逗号,最后一句不用加。
  • primary key 设置主键,一般一个表只有一个唯一的主键。
查看表

查看数据库中的表:

show tables;

查看一张表的结构:

desc  表名;
删除表

语法:

DROP TABLE [IF EXISTS] 表名

示例:

DROP TABLE IF EXISTS student;
-- 如果表student存在就删除它
修改和删除数据表字段

1.修改表名:

语法:ALTER TABLE 旧表名 RENAME AS 新表名        
--示例将表student的名称改为student1
ALTER TABLE student RENAME AS student1 ;

2.增加表的字段

语法:ALTER TABLE 表名 ADD 字段名 列属性 
-- 示例:给student表增加一个age的字段,类型为int,最大显示宽度为10。
ALTER TABLE student ADD age INT(10);

3.修改表的字段
ALTER命令中使用 modify或change子句都能达到修改表字段的目的。

  • 字段的重命名
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型
-- 示例:将student表中字段age改为新名字age1,并且类型改为int类型。
ALTER TABLE student CHANGE age age1  VARCHAR(10);
  • 修改约束
语法:ALTER TABLE 表名 MODIFY 字段名 要修改的类型和约束   
-- 示例:将表student中age的类型改为varchar类型,
ALTER TABLE student MODIFY age VARCHAR(10);

上面可以看到change和modify都可以修改列的属性,那么它们有什么不同呢?
答:modify和change都可以修改表的字段,但是change却需要写两次列名,不是很方便。
modify只能修改表的字段类型、change可以在修改字段类型的同时也修改列名。

4.删除表的字段

语法:ALTER TABLE 表名 DROP 要删除的字段名  
-- 示例:将student表中字段age删除
ALTER TABLE student DROP age;