Mysql表的创建

MySQL的表的创建

表的创建

  • 使用数据库:USE 数据库名;
  • 创建表:create table[if not exists] table_name(column_name, data_type,...)
  • 查看全部数据表:show tables
  • 查看表数据结构:desc tb_name;
  • 插入记录:insert into tb_name[(col_name,...)] values(Vals,...);
  • 查找记录:select expo from tb_name;
  • 自动编号:AUTO_INCREMENT 必须和主键一起使用

表的约束

  • 目的:保证数据的完整性和一致性。
  • 分类:分为表级约束和列级约束
  • 主键约束:保证记录唯一性,自动为not null primary key
  • 外键约束:
    • 条件:
      • 父表和子表必须使用相同的存储引擎,且必须为InnoDB。
      • 外键列与参照列具有相似的数据结构
      • 外键列和参照列必须创建索引,但系统自动创建了
    • 查询存储引擎:show create table tb_name;
    • 显示索引:show indexes from tb_name;
    • 命令:foreign key(**) references tb_name(**)
    • 参照操作
      • CASCADE:级联删除
      • SET NULL:父表删除或更新,子表外键值设置为null
      • RESTRICT:拒绝父表删除和更新
      • NO ACTION:不做任何操作
  • 非空约束:not null 字段值禁止为空
  • 唯一约束:unique key 可以为空值
  • 默认约束:default value 设置默认值

表的修改

  • 单列列的增加:alter table tb_name add column col_name col_definition[first|after col_name];
  • 单列列的删除:alter table tb_name drop column col_name
  • 约束的添加:alter table tb_name add constraint xxxx(col_name)
  • 删除主键约束:alter table tb_name drop primary key;
  • 删除外键约束:alter table tb_name drop foreign key fore_key;
  • 删除唯一约束:alter table tb_name drop index key_name;
  • 默认约束的修改:alter table tb_name alter column col_name set default xxx;
  • 修改列定义:alter table tb_name modify xxx;
  • 修改表名:
    • alter table tb_name rename xxx;
    • rename table tb_name to xxx;

表的插入

  • 插入记录:insert into tb_name[(col_name,...)] {value(exp)};
  • 设置插入:insert into tb_name set col_name={expr},...;
  • 子查询:insert into tb_name[(col_name,...)] select ...;

表的更新

  • 单表更新:update table_name set col_name={expr},.. where condition;

表的删除

  • 单表删除:delete from tb_name [where condition];

猜你喜欢

转载自www.cnblogs.com/zhaifeng/p/10892707.html
今日推荐