• mysql_涂抹笔记--第四章 管理mysql库与表


    第四章 管理mysql库与表

    1.配置好一套mysql数据库服务后,系统会默认创建4个库

     

    1). information_schema: 记录用户,表,视图等元数据信息,这个库在内存中,也就是在磁盘上找不到对应的物理内存,因此它是虚拟的。那么用户也无噶在改库下创建对象,root也不行对于该库,用户唯一能做的事情就是查询。该库中的对象在用户权限上面特别。

    2). mysql: 记录用户权限,帮助,日志等信息

    3). performance_schema: mysql 服务性能指标库

    4). test: 测试库

    2.删除

    drop {database| schema } [IF EXISTS ] db_name
    drop database test;
    drop database if exists test;

    drop tables if exists users;

    3.创建库

    create {database|schema} [if not exists] db_name [default ] character set charset_name  [default]  collate  collation_name;

    create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

    show create database yang;   查看数据库字符集

    select * from  information_schema.schemata;    查看数据库里面的所有库的,字符集

    4.创建表

    create table if not exists yang.users
    (username varchar(10),
    sex tinyint,
    birth date,
    address varchar(50),
    phoneno varchar(15));

    select database(); show tables 一样

    Field   显示列名
    type   显示列的数据类型
    Null    标识该列是否可以为空,显示NO表示不能为空,否则就是允许为空
    key    标识该列是主键列或索引列 为空的话表示该列上没有创建任何索引
    default  用于显示该列的默认值,为空表示没有默认值
    extra     用于显示一些额外的附加信息,比如该列如果为自增列,则会显示为 auto_increment; 对于timestamp列如果定义了 on update 选项,则此处也会显示相应的关键字

     5.修改表

    ALTER table users add(email varchar(50),salary smallint); 增加
    alter table users drop salary; 删除


    alter table tab_name change col_name new_col col_definition;    #修改列名,修改列定义
    alter table tab_name modify col_name col_definition;        #修改定义

    alter tables users change username user_name varchar(20);
    alter tables users modify user_name varchar(10);


    alter table users add email varchar(50), modify username varchar(20);

    6.引擎

    引擎: MyISAM  InnoDB

    MyISAM  存储引擎的表对象,完全可以通过删除操作系统层物理文件的方式删除表

    InnoDB  引擎中的表对象分为(共享表空间方式存储) 和 (独立表空间方式存储

    共享表空间方式存储:  不能以删除文件的方式删表的

    独立表空间方式存储:可以通过删除操作系统层物理文件的方式删除,但不建议选择这种方式,可能留下一些隐患,因为InnoDB 引擎的表对象,某些信息是必定会写在数据字典中的,只在操作系统成删除文件并不会清除数据字典中的信息,也许会在某些场景下触发异常

    7.把一个库移到另外一个库 rename table

    rename table tb1_name to new_tb1_name

  • 相关阅读:
    【pygame游戏编程】第二篇-----移动图像
    【pygame游戏编程】第五篇-----动画显示
    【pygame游戏编程】第四篇-----打字测速游戏
    【pygame游戏编程】第一篇-----创建一个窗口
    pygame编程之font模块
    pygame编组(精灵组)Group中的常用方法介绍
    javascript遍历对象的属性
    Spring中的@ImportResource
    SpringBoot中的@ConfigurationProperties
    开源协议是什么?有哪些?如何选择?
  • 原文地址:https://www.cnblogs.com/augustyang/p/7747065.html
Copyright © 2020-2023  润新知