MySql数据库系列(一)、数据库和表的基本操作

第一章、数据库和表的基本操作

学习目标

MySql数据库系列(一)、数据库和表的基本操作_第1张图片

知识架构

  • 数据库基础知识
  • 数据类型
  • 数据表的基本操作
  • 表的约束
  • 设置表的字段值自动增加
  • 索引

1.1、数据库基础知识

-创建数据库

create database 数据库名称;
  • 查看所以数据库
show databases;
  • 查看数据库信息
show create database 数据库名; 
  • 删除数据库
drop database 数据库名;

注意:删除数据库后,数据库中的所有数据都将被清除,原来分配的空间也将被收回!!!

  • 查看当前mysql所有编码
show variables like 'character%';
show variables like 'char%';#简写版查看

MySql数据库系列(一)、数据库和表的基本操作_第2张图片

  • 单独查看数据库编码
#查看其他编码同理只需更换xxx部分(character_set_xxx)
show variables like 'character_set_database';

注意:
MySql数据库一旦安装成功,创建的数据库编码也就确定了!!!
如果想修改数据库编码,可以使用alter database 语句来实现!!!

  • 修改数据库编码(default可选)
#完整版
alter database 数据库名称 [default] character set 编码方式 collate 编码方式_bin;
#简写版
alter database 数据库名称 character set 编码方式;
#l例如
alter database 数据库名称 character set utf8;

#如果想省事就一步到位(全部utf8)
SET character_set_client = utf8;
SET character_set_connection = utf8;
SET character_set_database = utf8;
SET character_set_results = utf8;
SET character_set_server = utf8;
  • 关闭mysql服务器
net stop mysql;
  • 开启mysql服务器
net start mysql;

注意: Windows下不能直接重启restartMySQL服务,只能先停止,然后再启动。

1.2、数据类型

使用MySql数据库存储数据时,不同的数据类型决定了MySql存储数据方式的不同。

  • 整数类型:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT。
  • 小数类型:
    • 浮点数类型: 单精度浮点数(FLOAT)、双精度浮点数(DOUBLE)
    • 定点数类型:DECIMAL
  • 时间和日期类型:YEAR、DATE、TIME、DATETIME、TIMESTAMP(时间戳可以在创建字段时设置默认值)
  • 字符串和二进制类型:CHAR和VARCAHR、BINARY和VARBINARY、TEXT、BLOB、ENUM(枚举类型)、SET、BIT

1.3、数据表的基本操作

  • 创建数据表
    CREATE TABLE 表名
    (
      字段名1 数据类型[完整性约束条件],
      字段名2 数据类型[完整性约束条件],
      字段名3 数据类型[完整性约束条件],
      ......
      字段名n 数据类型[完整性约束条件],
    )
    
  • 查看数据表
    SHOW CREATE TABLE 表名;
    
  • 修改数据表
    • 修改表名
          ALTER TABLE 旧表名 RENAME TO 新表名;
      
    • 修改字段名
        ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;
      

注意:新数据类型不能为空!

  • 修改字段的数据类型
    alter table 表名 modify 字段名 新数据类型;
    
  • 添加字段
    ALTER TABLE 表名 ADD 新添字段名 新字段数据类型;
    
  • 删除字段
    ALTER TABLE 表名 DROP 字段名;
    
  • 删除数据表
    #删除数据表
    DROP TABLE 表名;
    #查看数据表
    SHOW CREATE TABLE userinfo;
    #修改表名
    ALTER TABLE userinfo RENAME TO uinfo;
    #修改字段名
    ALTER TABLE uinfo change uid userid INT;
    #修改字段的数据类型
    ALTER TABLE uinfo modify udesc VARCHAR(200);
    #修改字段的排列位置
    alter table 表名 modify 字段名1 数据类型 FIRST#是把字段设置为表的第一个字段
    alter table 表名 modify 字段名1 数据类型 AFTER 字段名2#把字段1放到字段2后面
    #添加字段
    ALTER TABLE uinfo add money VARCHAR(100);
    #删除字段
    ALTER TABLE uinfo drop money;
    #删除数据表
    DROP TABLE uinfo;
    

1.4、表的约束

  • 主键约束
    字段名 数据类型 primary key;
    
  • 非空约束
    字段名 数据类型  not null;
    
  • 唯一约束
    字段名 数据类型 unique;
    
  • 默认约束
    字段名 数据类型 default 默认值;
    
  • 设置表的字段名增加
    字段名 数据类型 auto_increment;
    

1.5、设置表的字段值自动增加

  • 索引的分类
  1. 普遍索引:是由key或index定义的索引,它是mysql中的基本索引类型,可以创建在任何数据类型中,其值是否唯一个非空由字段本身的约束条件决定;
  2. 单列索引:是指在表中单个字段上创建索引,他可以是普通索引、唯一索引或者全文索引,只要保证该索引只对应表中一个字段即可;
  3. 多列索引:指的是在表中多个字段上创建索引,只有在查询条件中使用了这些字段中的第一个字段时,该索引才会被使用;
  4. 全文索引:是由fulltext定义的索引,它之能创建在char、varchar或text类型的字段上,而且,现在只有MylSAM存储引擎支持全文索引;
  5. 空间索引:是由SPATIAL定义 的索引,它只能创建在空间数据类型的字段上。

1.6、索引

  • 创建索引

    • 创建表的时候创建索引
      CREATE TABLE 表名(
      字段名 数据类型[完整性约束条件],
      字段名 数据类型[完整性约束条件],
      	...
      [UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY [别名] (字段名1 [(长度)]) [ASC|DESC])
      );
      
    • 使用create index 语句在已经存在的表上创建索引
      create [unique | fulltext | spatial] index 索引名 on 表名(字段名 [(长度)] [ASC | DESC]);
      
    • 使用alter table语句在已经存在的表上创建索引
      alter table 表名 add [unique | fulltext | spatial] index 索引名 (字段名 [(长度)][asc | desc]);
      
  • 删除索引

    • 使用alter table删除索引
      alter table 表名 drop index 字段名;
      
    • 使用drop index删除索引
      drop index 索引名 on 表名;
      

你可能感兴趣的:(MySql数据库,数据库,mysql,数据类型,完整性约束,索引)