数据库学习笔记——创建表和操纵表

  • 创建表
    caeate table 表名 (字段1 数据类型,字段2 数据类型,字段3 数据类型...)

  • 使用Null值
    默认允许字段为null值
    使用not null,可以设置字段不允许为空值create table 表名 (字段 数据类型 not null)

  • 主键介绍
    create table 表名 (字段1 数据类型 not null primary key)
    可以有符合组件的形式
    主键值必须唯一
    主键必须为not null(也可以先创建表,之后在修改表时约束主键为not null)

  • 使用auto_increment:是某列的值自动递增
    create table 表名( 字段1 数据类型 not null auto_increment primary key)
    一个表中 通常只允许一个列自动递增
    需要设为主键

  • default:指定默认值
    create table 表名(字段1 数据类型 not null primary key,字段2 数据类型 default "默认的值")
    在新增行时,如果没有给字段2赋值,则字段2会是默认的值
    默认值只会在新增时起到作用,修改时不会有默认值
    不允许函数作为默认值

  • engine引擎类型
    create table 表名 (字段1 数据类型 not null auto_increment primary key,字段2 数据类型 default “默认值”) engine=类型
    mysql中有多种引擎
    主要引擎:
    innodb:是一个可靠地事务处理引擎,但不支持全文本搜索
    myisam:是一个性能极高的引擎,他支持全文本搜索,但是不支持事务处理
    memory:在功能等同于myisam,但是由于数据库存储在内存中,速度极快,适合缓存
    引擎类型可以混用,(即同一个数库中某些表用innodb 有些表使用myisam)
    但是不能跨引擎,
    可以预先设置好数据库的默认引擎:在数据库的安装文件中my.ini文件中default-storage-engine=innodb

  • alter table:更新表:对表结构进行修改(注意不是对数据进行修改)

  • alter table 表名 操作 字段
    add 增加
    drop 删除

alter table orders add cust_country
在orders表中添加一个字段cust_country
alter table orders add cust_country
在orders表中删除cust_country字段
alter table orders add constraint FK_orders_customers foreign key(cust_id) references customers(cust_id)
表添加一个约束,约束名字:FK_orders_customers   约束类型:foreign key    关联    customers表的cust_id字段
  • 删除表 drop table 表名
  • 重命名表
    rename table 原表名 to 新表名

你可能感兴趣的:(数据库)