zoukankan      html  css  js  c++  java
  • MySQL学习笔记三:库和表的管理

    1.MySQL数据库服务配置好后,系统会有4个默认的数据库。

      information_schema:虚拟对象,其对象都保存在内存中

      performance_schema:服务器性能指标库

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

      test:测试库

    查看当前的所有数据库:

    show databases   //只显示当前用户拥有权限访问的所有数据库

    删除数据库

    drop database if exists db_name 

    创建数据库

    create database if not exist db_name

    在操作返回的结果中有ERROR,WARNING,可用以下语句来查看

    show errors  or show warnings

    查看数据库的创建脚本

    show create database db_name or 
    select * from scheme_information.schemata

    选定数据库

    use mysql

    查看某库中的所有表

    show tables

    表的创建,语法如下:

    Syntax:
    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
        (create_definition,...)
        [table_options]
        [partition_options]
    
    Or:
    
    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
        [(create_definition,...)]
        [table_options]
        [partition_options]
        select_statement
    
    Or:
    
    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
        { LIKE old_tbl_name | (LIKE old_tbl_name) }

    下面以student为表名来创建表

    use test;
    create table if not exists student(
    id int not null primary key auto_increment,
    sno char(11) not null unique,
    sname varchar(50) not null
    );

    查看表的结构

    desc student(tbl_name)

    查看表的创建脚本

    show create table student(tbl_name)

    查看表的状态信息

    show table status like 'student'

    修改表的结构,使用ALTER命令,语法:

    Syntax:
    ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
        [alter_specification [, alter_specification] ...]
        [partition_options]
    
    alter_specification:
        table_options
      | ADD [COLUMN] col_name column_definition
            [FIRST | AFTER col_name ]
      | ADD [COLUMN] (col_name column_definition,...)
      | ADD {INDEX|KEY} [index_name]
            [index_type] (index_col_name,...) [index_option] ...
      | ADD [CONSTRAINT [symbol]] PRIMARY KEY
            [index_type] (index_col_name,...) [index_option] ...
      | ADD [CONSTRAINT [symbol]]
            UNIQUE [INDEX|KEY] [index_name]
            [index_type] (index_col_name,...) [index_option] ...
      | ADD FULLTEXT [INDEX|KEY] [index_name]
            (index_col_name,...) [index_option] ...
      | ADD SPATIAL [INDEX|KEY] [index_name]
            (index_col_name,...) [index_option] ...
      | ADD [CONSTRAINT [symbol]]
            FOREIGN KEY [index_name] (index_col_name,...)
            reference_definition
      | ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
      | CHANGE [COLUMN] old_col_name new_col_name column_definition
            [FIRST|AFTER col_name]
      | MODIFY [COLUMN] col_name column_definition
            [FIRST | AFTER col_name]
      | DROP [COLUMN] col_name
      | DROP PRIMARY KEY
      | DROP {INDEX|KEY} index_name
    | DROP FOREIGN KEY fk_symbol
    | MAX_ROWS = rows
    | DISABLE KEYS
    | ENABLE KEYS
    | RENAME [TO|AS] new_tbl_name
    | ORDER BY col_name [, col_name] ...
    | CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
    | [DEFAULT] CHARACTER SET [=] charset_name [COLLATE [=] collation_name]
    | DISCARD TABLESPACE
    | IMPORT TABLESPACE
    | FORCE
    | ADD PARTITION (partition_definition)
    | DROP PARTITION partition_names
    | TRUNCATE PARTITION {partition_names | ALL}
    | COALESCE PARTITION number
    | REORGANIZE PARTITION [partition_names INTO (partition_definitions)]
    | ANALYZE PARTITION {partition_names | ALL}
    | CHECK PARTITION {partition_names | ALL}
    | OPTIMIZE PARTITION {partition_names | ALL}
    | REBUILD PARTITION {partition_names | ALL}
    | REPAIR PARTITION {partition_names | ALL}
    | PARTITION BY partitioning_expression

    例如

    alter table student add (sgender int(1) not null)  -----增加列------
    alter table student modify (sname varchar(100) not null)  -----修改列------
    alter table student drop sno  -----删除列------

    锁定表为只读

    lock table student read only   ----锁定单表---
    flush tables with read lock      ----锁定所有表

    解锁表

    unlock tables

    删除表

    drop table if exists student

    清空表

    truncate table student

    表的重命名

    rename table student to new_student
    ---------------可以使用rename进行数据库的移动---------------
    rename table test.student to test1.stduent
  • 相关阅读:
    mysql命令集锦
    linux 删除文件名带括号的文件
    linux下的cron定时任务
    struts2文件下载的实现
    贴一贴自己写的文件监控代码python
    Service Unavailable on IIS6 Win2003 x64
    'style.cssText' is null or not an object
    "the current fsmo could not be contacted" when change rid role
    远程激活程序
    新浪图片病毒
  • 原文地址:https://www.cnblogs.com/zmxmumu/p/4424877.html
Copyright © 2011-2022 走看看