美文网首页
mysql基本操作命令

mysql基本操作命令

作者: 瓢鳍小虾虎 | 来源:发表于2020-10-23 10:21 被阅读0次

    数据库

    // 创建
    create database xxx;
    // 查看
    show databases;
    // 查看指定数据库信息
    show create database xxx;
    // 修改数据库编码
    alter database xxx default character set gbk collate gbk_bin;
    // 删库
    drop database xxx;
    // 设置数据库同时设置编码
    CREATE DATABASE xxx DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    
    

    // 首先选择数据库
    use demo;
    // 创建表student
    create table student(
      id int(11),
      name varchar(255),
      age int(11)
    );
    // 查看表
    show tables;
    // 查看表信息
    show create table xxx;
    // 查看表字段信息
    desc xxx;
    // 修改表名
    alter table xxx rename [to] yyy;
    //修改字段名
    alter table xxx change c_name c_name1 varchar(20);
    // 修改字段的数据类型
    alter table xxx modify id int(20);
    // 添加字段
    alter table xxx add c_name float;
    // 删除字段
    alter table xxx drop c_name;
    // 删除表
    drop table xxx;
    
    

    表的约束

    PRIMARY KEY: 主键
    FOREIGN KEY: 外键
    NOT NULL: 非空
    UNIQUE:唯一
    DEFAULT:默认值约束,用于设置字段的默认值

    表的索引

    //创建索引
    //一.创建表的时候创建索引
    create table 表名(
            字段名 数据类型[完整性约束条件],
            ...
            字段名 数据类型,
            [UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY
      );
    //1-1.创建普通索引
    create table test1(
      id  INT,
      name VARCHAR(20),
      age INT,
      INDEX (id)
    );
    //可以插入一条数据,查看索引是否被使用
    explain select * from test1 where id=1 \G;
    //1-2.创建唯一性索引
    create table test2(
      id  INT,
      name VARCHAR(20),
      age INT,
      UNIQUE INDEX unique_id(id asc)
    );
    //1-3.创建全文索引
    create table test3(
      id  INT,
      name VARCHAR(20),
      age INT,
      FULLTEXT INDEX fulltext_name(name)
    )ENGINE=MyISAM;
    //1-4.创建单列索引
    create table test4(
      id  INT,
      name VARCHAR(20),
      age INT,
      INDEX single_name(name(20))
    );
    //1-5.创建多列索引
    create table test5(
      id  INT,
      name VARCHAR(20),
      age INT,
      INDEX multi(id,name(20))
    );
    //1-6.创建空间索引
    create table test6(
      id  INT,
      space GEOMETRY NOT NULL,
      SPATIAL INDEX sp(space)
    )ENGINE=MyISAM;
    ---------------------------------------------------
    //二.使用create index语句在已经存在的表上创建索引
    //首先新建一个表,这个表没有索引
    create table student(
      id int,
      age int,
      name varchar(20),
      intro varchar(40),
      g GEOMETRY NOT NULL
    )ENGINE=MyISAM;
    //2-1.创建普通索引
    create index index_id on student(id);
    //2-2.创建唯一性索引
    create unique index uniqueidx on student(id);
    //2-3.创建单列索引
    create index singleidx on student(age);
    //2-4.创建多列索引
    create index mulitidx on student(name(20),intro(40));
    //2-5.创建全文索引
    create fulltext index fulltextidx on student(name);
    //2-6.创建空间索引
    create spatial index spatidx on student(g); 
    
    //三.使用alter table语句在已经存在的表上创建索引
    //删除student表,重新创建
    drop table student;
    create table student(
      id int,
      age int,
      name varchar(20),
      intro varchar(40),
      space GEOMETRY NOT NULL
    )ENGINE=MyISAM;
    //3-1.创建普通索引
    alter table student add index index_id(id);
    //3-2.创建唯一性索引
    alter table student add unique uniqueidx(id);
    //3-3.创建单列索引
    alter table student add index singleidx (age);
    //3-4.创建多列索引
    alter table student add index multidx(name(20),intro(40));
    //3-5.创建全文索引
    alter table student add fulltext index fulltextidx(name);
    //3-6.创建空间索引
    alter table student add spatial index spatidx(space);
    
    //删除索引,有下面两种方式
    //1.使用alter table删除索引fulltextidx
    alter table student drop index fulltextidx;
    //2.使用drop index删除索引spatidx
    drop index spatidx on student;
    

    相关文章

      网友评论

          本文标题:mysql基本操作命令

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