outlook 发表于 2018-10-4 11:08:46

mysql三:表操作

  一、存储引擎介绍
  存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制
  二、表介绍
  表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段
  id,name,qq,age称为字段,其余的,一行内容称为一条记录
  三、创建表
  语法:
  create table 表名(
  字段名1 类型[(宽度) 约束条件],
  字段名2 类型[(宽度) 约束条件],
  字段名3 类型[(宽度) 约束条件]
  );
  注意:
  1. 在同一张表中,字段名是不能相同
  2. 宽度和约束条件可选
  3. 字段名和类型是必须的
  举栗子:
  create database db1 charset utf8;
  use db1;
  create table t1(
  id int,
  name varchar(50),
  sex enum('male','female'),
  age int(3)
  );
  show tables; #查看db1库下所有表名
  desc t1;
  select * from t1;

  select>  insert into t1 values
  (1,'egon',18,'male'),
  (2,'alex',81,'female')
  ;
  select * from t1;
  注意:表中的最后一个字段不要加逗号
  四、查看表结构
  describe t1; #查看表结构,可简写为desc 表名
  show create table t1\G; #查看表详细结构,可加\G
  五、数据类型
  http://www.cnblogs.com/linhaifeng/articles/7233411.html
  六、表完整性约束
  http://www.cnblogs.com/linhaifeng/articles/7238814.html
  七、修改表ALTER TABLE
  语法:
  1、修改表名

  >  RENAME 新表名;
  2、增加字段

  >  ADD 字段名数据类型 [完整性约束条件…],
  ADD 字段名数据类型 [完整性约束条件…];

  >  ADD 字段名数据类型 [完整性约束条件…]FIRST;

  >  ADD 字段名数据类型 [完整性约束条件…]AFTER 字段名;
  3、删除字段

  >  DROP 字段名;
  4修改字段

  >  MODIFY字段名 数据类型 [完整性约束条件…];

  >  CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];

  >  CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];
  示例:
  1. 修改存储引擎

  mysql>>  -> engine=innodb;
  2. 添加字段

  mysql>>  -> add name varchar(20) not null,
  -> add age int(3) not null default 22;

  mysql>>  -> add stu_num varchar(10) not null after name;                //添加name字段之后

  mysql>>  -> add sex enum('male','female') default 'male' first;          //添加到最前面
  3. 删除字段

  mysql>>  -> drop sex;
  4. 修改字段类型modify

  mysql>>  -> modify age int(3);

  mysql>>
  -> modify>  5. 增加约束(针对已有的主键增加auto_increment)

  mysql>>  6. 对已经存在的表增加复合主键

  mysql>>  -> add primary key(host_ip,port);
  7. 增加主键

  mysql>>  -> modify name varchar(10) not null primary key;
  8. 增加主键和自动增长

  mysql>>
  -> modify>  9. 删除主键
  a. 删除自增约束

  mysql>>  b. 删除主键

  mysql>>  -> drop primary key;
  八、复制表
  1、复制表结构+记录 (key不会复制: 主键、外键和索引)
  mysql> create table new_service select * from service;
  2、只复制表结构
  mysql> create table new1_service select * from service where 1=2;
  mysql> create table t4 like employees;
  九、删除表
  DROP TABLE 表名;

页: [1]
查看完整版本: mysql三:表操作