MySQL(二)表的操作与简单数据操作

六大约束:主键约束、外键约束、非空约束、唯一约束、默认约束、自动增加

  1.not null非空 
    2.defaul默认值,用于保证该字段的默认值 ; 比如年龄:1900-10-10
    3.primar key主键,用于保证该字段的值具有唯一性,并且非空
    4.uniqu唯一约束,保证该字段的值可以为空,具有唯一性
    5.AUTO_INCREMENT自动递增
    6.foreign key外键约束; 用于限制两个表的关系, 用于保证该字段的值必须来自于主表的关联列的值;
    在从表中添加外键约束,用于引用主表中的某列的值;

一、创建表

 

语法:使用use 数据库名;先指明数据库,再create table 表名
  create table [if not exists] 表名(
    字段名1 类型[(宽度) 约束条件],
    字段名2 类型[(宽度) 约束条件],
    字段名3 类型[(宽度) 约束条件]
  )[存储引擎 字符集];


  ==在同一张表中,字段名是不能相同
  ==宽度和约束条件可选
  ==字段名和类型是必须的

create   table   t_name(

            id  int(10) primary key,

            name char(10) not null,

            age  int(10),            

)ENGINE=InnoDB;

注:也可以使用:create table 数据库名.表名(……)

二、查询表

  (1)、查询所有表:

    show tables 表名;

  (2)、查询部分表

    前缀为ex的表  show tables like 'ex_%';(查出以ex_开头的表)

  (3)、查询表结构

    describe 表名;(可简写为 desc 表名;)

    show columns from 表名;

  (4)、查看表的创建语句(同查看数据库的创建语句:show create database 数据库名;)

    show create table 表名;

三、修改表

  (1)、修改表名

    rename table 老的表名 to 新的表名;   // rename 可以对多个表进行改名

    alter table 旧表名 rename 新表名;

  (2)、跨数据库改名

    rename table 老的表名 to 其他数据库.新的表名

  (3)、如果想在一个已经建好的表中添加一列,可以用以下代码:

   alter table 表名 add [column] 字段名 varchar(20) not null;
   alter table 表名 add  (字段名 int(10), 字段名int(10));(添加多个字段)
 (4)、改变表的字段

    alter table t_name modify 字段名  char(11);          -----只能改属性不能改名字
    alter table t_name change gender  age int(12);      -----既可以改名也可改属性(把gender改为age)

    alter table t_name change gender int(12) first;         -------把gender放在第一列

    alter table t_name change gender int(12) after id;    -------把gender放在id后面

  (5)、删除字段

    alter  table  表名  drop  字段名;   -----删除一列

四、删除表

    drop table 表名1,表名2……;

五、中文乱码问题

  博客详细介绍:https://www.cnblogs.com/shootercheng/p/5836657.html
https://www.cnblogs.com/eRrsr/p/6044227.html

  当然你也可以改mysql配置文件/etc/my.cnf。

六、简单数据库数据操作

  https://www.cnblogs.com/heyangblog/p/7624645.html

七、数据库操作函数大全

  https://www.cnblogs.com/slowlyslowly/p/8649430.html

八、数据库多表查询

  http://www.cnblogs.com/bypp/p/8618382.html

原文地址:https://www.cnblogs.com/soft2018/p/10194797.html