美文网首页
mysql基本操作

mysql基本操作

作者: LinkedIn | 来源:发表于2017-05-22 13:14 被阅读0次
    • 查询数据库
      show databases ;
    • 创建使用默认的数据库
      create database test_demo;
    • 删除数据库
      drop database test_demo;

    基本操作练习

    • 登录
      mysql -h localhost -u root -p
    • 创建test
      create database test ;
    • 使用当前
      use test;
    • 删除当前
      drop database test;
    • 查看创建数据库信息
      show create database test;

    创建一张员工表

    • use test
    • 建立表
    CREATE TABLE tb_empl (
        id INT (11),
        NAME VARCHAR (22),
        depid INT (11),
        salary FLOAT
    );
    
    • 使用主键
      什么是主键
    • 主键约束要求 列数据是唯一的,并且不允许为空null;
      主要作用 用来表示数据的唯一性,结合外键用来描述不同表的关系 ,
    • 主键 可以分为单一 主键 与联合主键 联合 主键在一个表中存在多个主键,他们之间是一一对应关系,
    • 带有主键的描述
    CREATE TABLE tb_empl (
        id INT (11) PRIMARY KEY,
        NAME VARCHAR (22),
        depid INT (11),
        salary FLOAT
    );
    
    • 带有多个主键的描述
    CREATE TABLE tb_empl (
        id INT (11) ,
        name VARCHAR (22),
        depid INT (11),
        salary FLOAT,
      PRIMARY KEY(id,name)
    );
    

    外键

    什么是外键

    • 简单的说外键用来描述 表与表之间的关系,子表 父表
      一对多,多对一的关系 多对多 描述完整性关系
    • 外键可以为空 外键可以不是主键
    • 当外键不为空时,应该对应另一个表的主键值
    • 保持数据库一致性,当子表对应的值发生改变,那么父表的值,可以进行改变 设置为null 或者进行更新操作
    • 关系描述,相关联字段中主键所在的为主表,
      -相关联字段中做为外键的所在表为从表
    • ** 使用外键 主表与次表 关联的数据类型必须是一致 的 否者错**
    DROP TABLE IF EXISTS `tb_empl`;
    CREATE TABLE `tb_empl` (
      `id` int(11) NOT NULL,
      `name` varchar(22) NOT NULL,
      `depid` int(11) DEFAULT NULL,
      `salary` float DEFAULT NULL,
      PRIMARY KEY (`id`),
      UNIQUE KEY `depid` (`depid`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    ---------------------------------------------------次表
    
    DROP TABLE IF EXISTS `tb_empl2`;
    CREATE TABLE `tb_empl2` (
      `id` int(11) NOT NULL,
      `idcardid` int(11) NOT NULL,
      PRIMARY KEY (`id`),
      KEY `emp1_2` (`idcardid`),
      CONSTRAINT `emp1_2` FOREIGN KEY (`idcardid`) REFERENCES `tb_empl` (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    

    非空约束

    • 即为 NOT NULL 使用非空约束 当对表插入空数据时,将会抛出异常
    create table empl
    ( id int(11) primary key,
       name varchar(22) NOT NULL)
    

    使用唯一性约束

    • 即为 unique 使用唯一性约束的字段只允许出现一次null值,不会出现相同值的情况存在
    create table empl
    ( id int(11) primary key,
       name varchar(22)  NOT NULL UNIQUE)
    ----------------------------------------------------------
    写法2
    CREATE TABLE qqq
    (  id int(11) PRIMARY key,
       cardid int(18) NOT NULL,
       CONSTRAINT tld UNIQUE(cardid)
    )
    

    主键与唯一约束的区别

    • 设置为主键不允许插入值为空 ,是唯一的
    • 设置为唯一性约束允许插入一次null值,其他结果也是唯一的

    默认约束

    • 意义:当插入值没有时,则自动为他填上写好了的语句
    • method default "",
    CREATE TABLE qqq
    (  id int(11) PRIMARY key,
         username VARCHAR(22) DEFAULT "二维",
       cardid int(18) NOT NULL,
       CONSTRAINT tld UNIQUE(cardid)
    )
    

    在设置id值 ,一直会设置自动增长

    • AUTO_INCREMENT, 不需要插入值,即可自动增长
    CREATE TABLE qqq
    (  id int(11) PRIMARY key AUTO_INCREMENT,
         username VARCHAR(22) DEFAULT "二维",
       cardid int(18) NOT NULL,
       CONSTRAINT tld UNIQUE(cardid)
    )
    

    相关文章

      网友评论

          本文标题:mysql基本操作

          本文链接:https://www.haomeiwen.com/subject/afsqxxtx.html