• 第二章 创建、删除和修改表


    创建表

    create table 表名(属性名 数据类型 [完整性约束条件],

    属性名 数据类型 [完整性约束条件],

    属性名 数据类型 [完整性约束条件]);

    注:建表前先选择数据库

    约束条件

    约束条件

    说明

    primary key

    设为主键

    foreign key

    设为外键,是与之联系的某表的主键

    not null

    设该属性不能为空

    unique

    标识该属性的值是唯一的

    auto_increment

    标识该属性的值自动增加

    default

    设置该属性的默认值

    查看表结构

    describe 表名;

    mysql> describe user;

    设置表的主键

    单字段主键

    mysql> create table user(id int primary key, name varchar(23));

    多字段主键

    primary key(属性名1,属性名2)

     mysql> create table user(id int,course_id int,grade float,primary key(id,course_id));

    设置表的外键

    user_id(主键) name age
    course_id(主键) course_name user_id(外键)

    当父表删除某条信息时,子表对应得信息也会被删除。

    constraint 外键别名 foreign key(属性1.1,属性1.2,……) references 表名(属性2.1,属性2.1,……)

    创建父表

    mysql> create table user(u_id int primary key,name varchar(20));

    创建子表

    mysql> create table course(id int primary key,u_id int,constraint c_fk foreign key(u_id) references user(u_id));

    c_fk为外键的别名,而且外键必须是父表的主键

    设置表的非空约束

    mysql> create table course(id int primary key,name varchar(20) not null,u_id int,constraint c_fk foreign key(u_id) references user(u_id));

    设置表的唯一约束

    mysql> create table course(id int primary key,name varchar(20) unique,u_id int,constraint c_fk foreign key(u_id) references user(u_id));

    设置表的属性值自动增加

    mysql> create table course(id int primary key auto_increment,name varchar(20) not null,u_id int,constraint c_fk foreign key(u_id) references user(u_id));

    设置表的属性的默认值

    mysql> create table course(id int primary key auto_increment,Computer float default 0,name varchar(20) not null,u_id int,constraint c_fk foreign key(u_id) references user(u_id));

    查看表结构

    describe

      

    show create table

    修改表

    修改表名

    alter table 旧表名 rename 新表名;

    修改字段的数据类型

    alter table 表名 modify 属性名 数据类型;

    mysql> alter table user modify name varchar(30);

    修改字段名

    alter table 表名 change 就属性名 新属性名 新数据类型

    mysql> alter table user change u_id user_id int;

    更改后的字段与原来字段约束一致,如不更改数据类型,则与原来一致

    增加字段

    alter table 表名 add 属性名1 数据类型 [约束条件] [first| after 属性名2]

    first参数指定新增字段为表的第一个字段,after指定在原有某个字段之后。默认在表的最后一个字段

    mysql> alter table user add user_age int not null after user_id;

      

    删除字段

    alter table 表名 drop 属性名;

    mysql> alter table user drop user_age;

    修改字段的排列位置

    alter table 表名 modify 属性名1 数据类型 first|after 属性名2;

    更改表的存储引擎

    alter table 表名 engine=存储引擎名;

       

    更改表的默认编码集

    alter table 表名 charset=utf8;

    删除表的外键约束

    alter table 表名 drop foreign key 外键别名;

    删除表

    删除未被关联的普通表

    drop table 表名;

    删除被关联的父表

    (1)先删除子表的外键约束,再删除父表

    (2)先删除子表,再删除父表

  • 相关阅读:
    [轉]Flex实现代码分离mxml/as
    [轉]PHP执行MYSQL存储过程报错:Commands out of sync; you can't run this command now 问题的解决
    [轉]mysqli & pdo使用实例和详解
    JSON格式驗證以及格式說明
    [轉]can't return a result set in the given context及参数解释
    PHP ADODB資源
    [轉]Virtual PC 网络设置(Networking)
    [轉]20个非常有用的PHP类库
    [轉]MySQL存储过程 ERROR Handler 异常处理
    [轉]如何通过Jquery获取radio的值
  • 原文地址:https://www.cnblogs.com/wuchaodzxx/p/5524816.html
Copyright © 2020-2023  润新知