发表于: 2018-03-10 23:59:47

4 671


最近几天事情多时间有点紧,明天继续开始学习,师兄见谅....


今天完成的事情:


学习完成对数据表的操作


结构图

  • 创建数据表:

示例:

  • 查看数据表: 

示例:

 查看数据表列结构:(describe tb_name)

省略字段需要注意:

查询表中的数据:

  • 修改数据表
  1. 添加单列ALTER TABLIE tb_name ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]

2.删除列:
      ALTER TABLE tb_name DROP col_name

3.删除主键约束:
ALTER TABLE tb_name DROP PRIMARY KEY;   (无需指定字段名,每张表只有唯一主键)
4.删除唯一约束:
ALTER TABLE tb_name DROP {INDEX|KEY} index_name;
5.删除外键约束:
ALTER TABLE tb_name drop FOREIGN KEY name;

6.修改列定义:
ALTER TABLE tb_name MODIFY col_name colomn_difinition [FIRST | AFTER col_name]
7.数据表的更名:
方法一: ALTER TABLE tb_name RENAME new_tb_name;
方法二: RENAME TABLE tb_name TO new_tb_name;
(尽量不要修改列名称和数据表的名称,如果两者曾经被引用,可能导致创建过索引、视图无法使用)



  • 约束:
1.保证数据的完整性和一致性
2.约束分为表级约束和列级约束
3.约束类型包括:NOT NULL(非空约束)、PRIMARY KEY(主键约束)、UNIQUE KEY(唯一约束)、DEFAULT(默认约束)、FOREIGN KEY(外键约束)
空值与非空: NULL 与 NOT NULL;
自动编号(AUTO_INCREMENT):1.自动编号,且必须与主键结合使用
    2.默认情况下起始值为1,增量为1      
主键约束(PRIMARY KEY): 1.主键约束
     2.每张数据表只能存在一个主键
     3.主键保证记录的唯一性
     4.主键自动为NOT NULL
唯一约束(UNIQUE KEY):   1.唯一约束
     2.唯一约束可以保证记录的唯一性(就是该字段的值在数据表中只能出现一次)
     3.唯一约束的字段可以为空值
     4.每张数据表可以存在多个唯一约束
默认约束(DEFAULT):1.默认值
       2.当插入记录时,如果字段没有明确的为字段赋值,则自赋为默认值
外键约束(FOREIGN KEY):1.保持数据的完整性和一致性
   2.实现一对一或一对多的关系(注:无多对一
外键约束的要求:1.父表(子表所参照的表)和子表(具有外键列的表)必须使用相同的存储 引擎,而且禁止使用临时表
             2.数据表的存储引擎只能为InnoDB
             3.外键列和参照列必须具有相似的数据类型,其中的数字长度或是是否有符号位必须相同;而字符的长度可以不相同。
             4.外键列和参照列必须创建索引,如果外键不存在索引的话,mysql将自动创建索引。


外键约束的参照操作:

1.CASCADE:从父表中删除或更新且自动删除或更新子表中匹配的行
2.SET NULL:从父表中删除或更新行,并设置子表中的列为NULL,如果使用该选项,必须保证子表中没有指定NOT NULL
3.RESTRICT:拒绝对父表的删除或更新操作
4.NO ACTION:标准SQL关键字,与RESTRICT相同


         注意:

          表级约束和列级约束:   1.对一个数据列建立的约束,称为列级约束

2.对多个数据列建立的约束,称为表级约束
3.列级约束既可以在列定义声明,也可以在列定义后声明。表级约束

只能在列定义后声明



明天的计划:学习剩下数据库的函数知识,以及进行任务的操作



返回列表 返回列表
评论

    分享到