MySQL-表

打印 上一主题 下一主题

主题 963|帖子 963|积分 2889


  • 存储在表中的数据是一种范例的数据,不同范例的数据应放到不同的表中,否则会使以后的检索和访问很困难。
  • 数据库中的每个表都有一个名字,用来标识自己。此名字是唯一的, 这表现数据库中没有其他表具有雷同的名字。
  • 表由一个或多个列构成。每一列存储一列特定的信息,列称为字段,每个列都有相应的数据范例。数据范例界说列可以存储的数据种类。例如,某一列中必要存储数字,该列的数据范例应该界说为数值范例。
  数据范例

整型:无符号-unsigned

浮点型、定点型

日期时间范例

字符型

 char 和 varchar 的区别:
        char:固定长度
                  最大 255 字符
                  数据长度不敷会再尾部添补空格,查询时会自动去掉空格
                  服从高,占空间
  varchar:长度可变
                  最大可设置 65535 字节
  1. insert into vc(v,c) values('ab  ','ab  ');
  2. select * from vc where v='ab  ';  # 能查到
  3. select * from vc where c='ab  ';  # 能查到
  4. select * from vc where v like 'ab  ';  # 能查到
  5. select * from vc where c like 'ab  ';  # 不能查到
复制代码
 注:'=' 不是完全对等,'like' 可以表现完全对等
DDL(数据界说语言) 

Data Definition Language, 用于界说和管理数据库中的对象和结构,如表、列、索引等。
创建表

  1. create table [if not exists] 表名(
  2.     字段1 字段类型 [列级约束条件],
  3.     字段2 字段类型 [列级约束条件],
  4.     ...
  5.     [表级约束条件]
  6. )
复制代码
  注:最后一个字段背面不加“,” 
  查看表

表现数据库中的表
  1. show tables;
复制代码
查看表的基本结构
  1. desc 表名;
复制代码
查看数据库/表的创建语句
  1. show create table 表名:
复制代码
修改表



  • 添加字段
  1. alter table 表名
  2. add column 新列名 数据类型 [约束条件] first / after 列名;
复制代码
  注:
  first:添加到最前面(即第一列)
  after 列名:添加到该列之后 
  

  • 修改字段的范例
  1. alter table 表名
  2. modify column 列名 数据类型 [约束条件];
复制代码


  • 修改字段的位置
  1. alter table 表名
  2. modify column 列名 数据类型 first / after 列名;
复制代码


  • 修改字段名
  1. alter table 表名
  2. change column 旧列名 新列名 数据类型;
复制代码


  • 删除字段
  1. alter table 表名
  2. drop column 列名;
复制代码
重命名表

  1. alter table 旧表名
  2. rename to 新表名;
复制代码
删除表

  1. drop table 表名;
复制代码
练习


DML(数据操作语言)

Data Manipulation Language,用于操作数据库中的实际数据,如插入、更新、删除和查询数据。
插入数据

        插入完整的行,全部字段,每一个字段都必须提供一个值,如果某个字段没有值,应该使用NULL,每个字段必须以他们在表中界说的顺序给出。这种语法简朴,但是不安全,应该制止使用。
  1. insert into 表名
  2. values (字段1的值,字段2的值,...);
复制代码
        更安全的方法是,在表名后的括号中给出字段名,values 中的值的顺序与前面给出的字段的顺序雷同,逐一对应。不必要与表中界说的顺序雷同,没有值的字段可以不提供。
  1. insert into 表名 (字段1,字段2,...)
  2. values (字段1的值,字段2的值,...);
复制代码
  

  • values 背面可以跟多个括号,括号间用逗号分隔,每个括号代表要插入的一条数据
  • 单条 insert 语句插入多条数据比多条 insert 语句快
  更新数据

  1. update 表名
  2. set 字段1 = 字段1的值,字段2 = 字段2的值,...
  3. where 限制条件;
复制代码
  

  •  注:记得加 where 限定条件,否则更新整个表中的每一条数据
  删除数据

  1. delete from 表名
  2. where 限制条件;
复制代码
  

  • 同样,不加限定条件会删除整个表中每一条数据
  • 物理删除,无法恢复
  • 注:在对 update 或 delete 使用 where 前,应该先用 select 语句举行测试保,证它的过滤效果是精确的
  练习


约束

constraint
约束范例非空约束默认约束唯一约束主键约束外键约束
关键字not nulldefaultuniqueprimary keyforegin key
非空约束

创建表时设置非空约束
  1. create table 表名(
  2.     字段名 字段类型 not null,
  3.     ...
  4. );
复制代码
已有字段添加非空约束
  1. alter table 表名
  2. modify column 字段名 字段类型 not null;
复制代码
删除非空约束(修改为允许为空)
  1. alter table 表名
  2. modify column 字段名 字段类型;
复制代码
  注意:不要混淆 NULL 值和空串,NULL值是没有值,空串是“(两个单引号,中间没有字符)
  默认约束

  1. create table 表名(
  2.     字段名 字段类型 default 默认值,
  3.     ...
  4. );
复制代码
唯一约束

列级
  1. create table 表名(
  2.     字段名 字段类型 unique,
  3.     ...
  4. );
复制代码
表级,可以给约束起名,可以创建多列的唯一约束(团结唯一约束)
  1. create table 表名(
  2.     字段1 字段类型,
  3.     字段2 字段类型,
  4.     ...
  5.     [constraint 约束名] unique(字段1,字段2)
  6. );
复制代码
已有字段添加唯一约束
  1. alter table 表名
  2. modify 字段名 字段类型 unique;
  3. alter table 表名
  4. add [constraint 约束名] unique(字段名);
复制代码
删除唯一约束
  1. alter table 表名
  2. drop index 约束名;
  3. alter table 表名
  4. drop key 约束名;
复制代码
主键约束

        唯一标识表中每行的这个列(或这组列)称为主键。主键用来表现一个特定的行。没有主键,更新或删除表中特定行很困难,由于没有安全的方法保证只涉及相关的行。
   因此:
  

  • 每一个表都应该界说主键
  • 主键的值不应该修改
  • 不使用可能会修改值的列作为主键(与业务无关,通常使用id 作为主键)
  特点:
  

  • 唯一性:主键要求每一行数据的主键值都必须是唯一的,不允许有重复值。
  • 非空性:主键要求主键列的值不能为空,即不能为 NULL
  • 单一性:每个表只能有一个主键。主键可以由一个列或多个列构成,形成复合主键
  列级
  1. create table 表名(
  2.     字段名 字段类型 primary key,
  3.     ...
  4. );
复制代码
表级,可以给约束起名,可以创建多列的团结主键
  1. create table 表名(
  2.     字段1 字段类型,
  3.     字段2 字段类型,
  4.     ...
  5.     [constraint 约束名] primary key(字段1,字段2)
  6. );
复制代码
删除主键
  1. alter table 表名
  2. drop primary key;
复制代码
自动递增

        auto_increment:设置 auto_increment 的列,当每增加一行时自动增量。每个表只允许一个 auto_increment 列。
  1. create table 表名(
  2.     字段1 字段类型 auto_increment
  3. );
复制代码
外键约束

        外键为表中的某一字段,该字段是另一表的主键值,外键用来在两个表的数据之间建立联结,一个表中可以有一个或多个外键。外键的作用是保持数据的一致性、完整性。
注意:
   外键字段可以为null,外键为空的数据也叫孤儿数据
  有了外键引用之后,表分为父表和子表
  

  • 创建表时先创建父表,再创建子表
  • 插入数据时,先插入附表数据,再插入子表数据
  • 删除时,先删除子表,再删除父表
  子表外键范例要与父表外键范例一致
  1. [constraint 外键名] foreign key (列名) references 主表名 (主键);
复制代码
练习





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

曹旭辉

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表