zoukankan      html  css  js  c++  java
  • 数据表的基本操作 学习笔记

    表是库中最重要,最基本的操作对象,是数据存储的基本单位。表被定义为列的集合,数据在表中是按照行和列的格式来存储的。每一行代表一条唯一的记录,每一列代表记录中的一个域。

    创建数据表,查看数据表结构,修改数据表,删除数据表。理解约束,默认和规则的含义并学会运用。

    • 创建数据表,语法规则如图需要指定表的名称(不区分大小写),每一列的名称和数据类型,多个列之间用都好隔开。

    如: ,创建方式如图:

    • 使用主键约束 主键即主码,是表中一列或多了的组合,主键约束要求主键列的数据唯一,并且不允许为空。可以结合外键来定义不同数据表之间的关系,并且可以加速数据库查询的速度。分为单字段主键和多字段联合主键。
      • 单字段主键,由一个字段组成,SQL语句格式分为两种情况,一是 在定义列的同时指定主键,语法规则: 字段名  数据类型  PRIMARY KEY(默认值)如下表                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                二是 在第一晚所有列之后指定主键。如图:

      • 多字段联合主键,主键由多个字段联合组成,语法  PRIMARY KEY (字段1,字段2,字段3......字段n),如下图:

    • 使用外键约束 在两个表的数据中间建立连接,一列或多了,一个表可以有一个或多个外键。外键可以为空,若不为空,则外键必须等于另一个表中主键的某个值。,可以不是本表的主键,但对应另外一个表的主键。  主表(父表)主键所在的表,从表(子表)外键所在的表。创建部门表 tb_dept1 定义数据表 tb_emp5,让它的键deptId作为外键关联到tb_dept1的主键id,如下图所示:                                                                                                                                                                                                                                      
    • 使用非空约束 指字段的值不能为空,如果添加数据时为空,则会报错。语法  字段名   数据类型  not null                                                                                                                                                                                                                                                               
    • 使用唯一性约束 要求该列唯一,允许为空,但只能出现一个空值,可以确保一列或几列不出险重复值。 语法   字段名   数据类型   UNIQUE                                                                                                                                                                                                       

      一个表可以有多个UNIQUE,可以有一个为空。

    • 使用默认约束,指定某列的默认,语法  字段名 数据类型 DEFAULT 默认值                                                                                                                                                                                                                                                                                                            
    • 设置表的属性自动增加,既 AUTO_INCREMENT 一个标准只能有一个字段使用该约束,且必须为主键的一部分。可以使任何证书类型。  语法 字段名  数据类型 AUTO_INCREMENT                                                                                                                                   
    • 查看数据表的基本结构DESCRIBE 查看表的字段信息,保库字段名,字段数据类型,是否为主键,是否有默认值等。  DESCRIBE 表名; or  DESC 表名;                                                                                                                                                                                     

      • NULL 表示该列可以为空。

      • Key,表示该列是否已编制索引,PRI表示该列是主键的一部分,UNI表示该列是UNIQUE索引的一部分,MUL表示在列表中某个给定值允许出现多次。

      • Default 表示该列是否有默认值,如有有的话值是多少。

      • Extra,表示可以获取的与给定列有关的附件信息,例如AUTO_INCREMENT等。

    • 查看 表详细结构语句 SHOW CREATE TABLE 显示创建表时的CREATE TABLE语句,语法   SHOW CREATE TABLE <表名G>; 还可以查看存储引擎和字符编码。参数‘G‘可以使结果直观,易于查看。

           

    • 修改表名  ALTER TABLE <旧表名> RENAME [TO] <新表名>;

           

    • 修改字段的数据类型   语法 ALTER TABLE <表名> MODIFY <字段名> <数据类型>,由于不同类型的数据在机器中存储的方式及长度并不同,修改数据类型可能会影响到数据表中已有的数据记录,所以不要轻易修改有数据的数据类型。

           

    • 修改字段名  语法  ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;

           

    •  添加字段 语法 ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件]  [FIRST | AFTER 已存在字段名];  first是将新添加的字段设置为第一个字段,after将新添加的字段放到已有字段的后面。没有这俩字段,默认放在最后列。

           

           

           

    •  删除字段 ALTER TABLE <表名> DROP <字段名>;

           

    • 修改字段的位置  ALTER TABLE <表名> MODIFY <字段1> <数据类型> FIRST|AFTER <字段2>;  FIRST 表示将字段1修改为表的第一个字段, AFTER 字段2  指将字段1插入到字段2的后面。

           

          

    • 更改表的存储引擎   ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;

           

    • 删除表的外键约束  ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>

           

    • 删除数据表 
      • 没有被关联的表  DROP TABLE [IF EXISTS] 表1,表2,...表n;  if exists用于当有表不存在是也可以顺利执行,但是会发出警告。
      • 删除被其他表关联的主表,先删除指标在删除父表。如要需要保存子表,就先接触外键约束条件。然后删除父表。
  • 相关阅读:
    STL Allocator
    Several NeedToKnow(assert/stdin/stdout/CString/Standard C++ Library)
    VS Project Property Sheet
    进度总结(3)
    进度总结(2)
    进度总结(4)
    进度总结(7)
    进度总结(1)
    进度总结(5)
    进度总结(6)
  • 原文地址:https://www.cnblogs.com/laiyuan/p/8298458.html
Copyright © 2011-2022 走看看