mysql基本操作

以下操作都是在cmd中执行

  • 登陆数据库服务器

    # 登陆数据库服务器
    mysql -uroot –p+password
    
    # 退出数据库服务器(三者任选一)
    quit
    \q
    exit
    
  • 新建数据库

    /*新建数据库*/
    create database 数据库名;
    /*查询数据库服务器中有哪些数据库*/
    show databases;
    

    在这里插入图片描述

  • 选择使用数据库并查看数据库下的所有表

    /*选择数据库*/
    use 数据库名;
    /*查看数据库下的所有表*/
    show tables;
    

    在这里插入图片描述

  • 新建表和删除表

    /*新建表*/
    create TABLE pet(
                       name VARCHAR(20),
                       owner VARCHAR(20),
                       specise VARCHAR(20),
                       sex CHAR(1),
                       brith DATE,
                       death DATE );
    /*删除表*/    
    drop table pet;
    

    var()与varchar()的区别在于var()是定常的,哪怕存储的字符串没有达到"()“中数字的上限,var()依然会占用空格来填充空间.而varchar()则是不定长的,没有达到”()"中的上限则会自动去掉后面的空格

  • 查看数据表的架构

    describe score;
    

    在这里插入图片描述

    Field: 字段的名称

    Type: 字段的类型,可以有int var varchar

    Key : 是否是关键字 如可以定义为: primary key 或者 unique key …

    Default: : 若是该字段没有主动设置值的时候,该字段的默认值是NULL

  • 插入数据和删除数据

    /*插入全部数据*/
    Insert into score Values('104', '3-245', '88');
    
    /*插入部分数据,未设置的写入默认值*/
    Insert into score(s_no,c_no) Values('108','3-245');
    

    在这里插入图片描述

    /*删除数据行*/
    delete from score where s_no='108';
    /*添加字段*/
    alter table score add(a varchar(11));
    /*删除字段*/
    alter table score drop a;
    

    在这里插入图片描述

  • 查看已有表的建表命名

    show create table score;
    

    在这里插入图片描述

  • 创建视图

    create view test as 
    select s_no
    from score;
    
  • 建表约束

    • 主键约束:唯一确定一张表中的一条记录,增加主键约束之后,字段不重复而且不为空

      /*建表*/
      create table user(
          /*设置id为主键*/
          id int PRIMARY KEY,
          name VARCHAR(20)
      );
      /*插入数据*/
      INSERT INTO user VALUES (1,'张三');
      /*删除已添加的主键约束*/
      alter table user drop primary key;
      /*在创建好的表中添加主键约束*/
      alter table user add primary key(id);
      
    • 复合主键:所有的字段都不是相同的情况下可以允许其中的字段重复

      CREATE TABLE user2(
          id INT,
          name VARCHAR(20),
          password VARCHAR(20),
          /*设置(id,name)为复合主键*/
          PRIMARY key(id,name)
      );
      INSERT INTO user2 VALUES (1,'老王','123456');
      INSERT INTO user2 VALUES (2,'老王','123456');
      
    • 自增约束:

      CREATE TABLE user3(
          id INT PRIMARY KEY AUTO_INCREMENT,
          name VARCHAR(20)
      );
      INSERT INTO user3(name) VALUES('张三');
      INSERT INTO user3(name) VALUES('李四');
      

      在这里插入图片描述

    • 唯一约束:修饰的字段的值不能重复

      CREATE TABLE user5(
          id INT unique,
          name VARCHAR(20)
      );
      /*删除已添加的唯一约束*/
      alter table user drop index id;
      
    • 非空约束:该项不能为空

      CREATE TABLE user4(
          id INT unique not null,
          name VARCHAR(20)
      );
      
    • 默认约束:该字段存在默认值

      CREATE TABLE user6(
          id INT primary key,
          name VARCHAR(20) default 'none'
      );
      
    • 外键约束:涉及到两个表:父表、子表

      /*父表*/
      create table classes(
      	id int primary key,
      	name varchar(10)
      );
      /*子表*/
      create table classes(
      	id int primary key,
      	name varchar(10),
          class_id int,
          foreign key(class_id) references classes(id)
      );
      

      父表中没有的数据值,在子表中是不能被使用的

      若父表的记录被引用,则不能删除主表中的该记录

    • 检查约束:检查字段的值是否为可选范围

      create table tblteacher{
      	teaID int not null primary key comment '学号',
      	teaName nvarchar(10) not null comment '姓名',
      	teaSex nchar(1) not null comment '性别',
      	teaTelphone char(11) comment '电话',
      	constraint ck_tablteacher_teaSex check(teaSex in('男','女'))
      };
      
      
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值