mysql數據庫及表的管理

MySQL中字符大小寫:

1、SQL關鍵字及函數名不區分字符大小寫;

2、數據庫、表及視圖名稱的大小區分與否取決于低層OS及FS

3、存儲過程、存儲函數及事件調度器的名字不區分大小寫,但觸發器區分;

4、表別名區分大不寫;

5、對字段中的數據,如果字段類型為Binary類型,則區分大小寫;非Binary不區分大小寫;

數據庫:

CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] [CHARACTER SET=''] [DEFAULT] [COLLATE='']

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

        ALTER {DATABASE | SCHEMA} db_name

        UPGRADE DATA DIRECTORY NAME(用途:升級數據庫后,升級數據庫字典,用處不多)

ALTER {DATABASE|SCHEMA} db_name [DEFAULT] [CHARACTER SET=''] [DEFAULT] [COLLATE='']

          

          (SHOW WARNINGS;顯示警告信息)

          改變數據庫名稱:1、備份數據庫,2、刪除數據庫,3、重建新數據庫,把原表復制回來

表:

表創建:第一種方式

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name

   (create_definition,…)

   [table_options]

   (create_definition,…):

    字段的定義:字段名、類型和類型修飾符

    鍵、約束或索引:

    PRIMARY KEY, UNIQUE KEY, FOREIGN KEY, CHECK

    {INDEX|KEY} 

   [table_options]

    ENGINE [=] engine_name

    mysql> SHOW ENGINES;

    AUTO_INCREMENT [=] value

    [DEFAULT] CHARACTER SET [=] charset_name

    [DEFAULT] COLLATE [=] collation_name

    COMMENT [=] 'string'

    DELAY_KEY_WRITE [=] {0 | 1}對提高性能有幫助

    ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}

    TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}]

例子:

創建mydb數據庫,創建t1表并創建兩個字段Name(50字符,非空),Age(TINYINT,無符號,非空),這兩個字段一起作為主鍵。

mysql> CREATE DATABASE mydb;
Query OK, 1 row affected (0.01 sec)
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.02 sec)
mysql> USE mydb;
Database changed
mysql> CREATE TABLE t1 (Name VARCHAR(50) NOT NULL,Age TINYINT UNSIGNED NOT NULL,PRIMARY     KEY(Name,Age));
Query OK, 0 rows affected (0.10 sec)
mysql> DESC t1;
+-------+---------------------+------+-----+---------+-------+
| Field | Type                | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| Name  | varchar(50)         | NO   | PRI | NULL    |       |
| Age   | tinyint(3) unsigned | NO   | PRI | NULL    |       |
+-------+---------------------+------+-----+---------+-------+
2 rows in set (0.07 sec)

SHOW ENGINES;顯示引擎,DEFAULT的為默認存儲引擎

mysql> SHOW ENGINES;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
8 rows in set (0.00 sec)

或者

mysql> SHOW TABLE STATUS LIKE 't1'\G;
*************************** 1. row ***************************
           Name: t1
         Engine: InnoDB
        Version: 10
     Row_format: Compact
           Rows: 0
 Avg_row_length: 0
    Data_length: 16384
Max_data_length: 0
   Index_length: 0
      Data_free: 10485760
 Auto_increment: NULL
    Create_time: 2015-05-31 17:42:45
    Update_time: NULL
     Check_time: NULL
      Collation: utf8_general_ci
       Checksum: NULL
 Create_options: 
        Comment: 
1 row in set (0.00 sec)

手動指定存儲引擎

mysql> CREATE TABLE t1 (Name VARCHAR(50) NOT NULL,Age TINYINT UNSIGNED NOT NULL,PRIMARY KEY(Name,Age)) ENGINE=MyISAM;
Query OK, 0 rows affected (0.02 sec)
mysql> SHOW TABLE STATUS LIKE 't1'\G;
*************************** 1. row ***************************
           Name: t1
         Engine: MyISAM
        Version: 10
     Row_format: Dynamic
           Rows: 0
 Avg_row_length: 0
    Data_length: 0
Max_data_length: 281474976710655
   Index_length: 1024
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2015-05-31 17:59:01
    Update_time: 2015-05-31 17:59:01
     Check_time: NULL
      Collation: utf8_general_ci
       Checksum: NULL
 Create_options: 
        Comment: 
1 row in set (0.00 sec)

MyISAM表,每表有三個文件,都位于數據庫目錄中:

    tb_name.frm: 表結構定義

    tb_name.MYD: 數據文件

    tb_name.MYI: 索引文件

    InnoDB表,有兩種存儲方式

    1、默認:每表有一個獨立文件和一個多表共享的文件

    tb_name.frm: 表結構的定義,位于數據庫目錄中;

    ibdata#: 共享的表空間文件,默認位于數據目錄(datadir指向的目錄)中;

    2、獨立的表空間:(建議)

    tb_name.frm: 每表有一個表結構文件

    tb_name.ibd: 一個獨有的表空間文件

mysql> SHOW GLOBAL VARIABLES LIKE 'INNODB%'
    -> ;
+---------------------------------+------------------------+
| Variable_name                   | Value                  |
+---------------------------------+------------------------+
| innodb_adaptive_flushing        | ON                     |
| innodb_adaptive_hash_index      | ON                     |
| innodb_additional_mem_pool_size | 8388608                |
| innodb_autoextend_increment     | 8                      |
| innodb_autoinc_lock_mode        | 1                      |
| innodb_buffer_pool_instances    | 1                      |
| innodb_buffer_pool_size         | 134217728              |
| innodb_change_buffering         | all                    |
| innodb_checksums                | ON                     |
| innodb_commit_concurrency       | 0                      |
| innodb_concurrency_tickets      | 500                    |
| innodb_data_file_path           | ibdata1:10M:autoextend |
| innodb_data_home_dir            |                        |
| innodb_doublewrite              | ON                     |
| innodb_fast_shutdown            | 1                      |
| innodb_file_format              | Antelope               |
| innodb_file_format_check        | ON                     |
| innodb_file_format_max          | Antelope               |
| innodb_file_per_table           | OFF                    |啟用這一項即可實現第二種方法
| innodb_flush_log_at_trx_commit  | 1                      |
| innodb_flush_method             |                        |
| innodb_force_load_corrupted     | OFF                    |
| innodb_force_recovery           | 0                      |
| innodb_io_capacity              | 200                    |
| innodb_large_prefix             | OFF                    |
| innodb_lock_wait_timeout        | 50                     |
| innodb_locks_unsafe_for_binlog  | OFF                    |
| innodb_log_buffer_size          | 8388608                |
| innodb_log_file_size            | 5242880                |
| innodb_log_files_in_group       | 2                      |
| innodb_log_group_home_dir       | ./                     |
| innodb_max_dirty_pages_pct      | 75                     |
| innodb_max_purge_lag            | 0                      |
| innodb_mirrored_log_groups      | 1                      |
| innodb_old_blocks_pct           | 37                     |
| innodb_old_blocks_time          | 0                      |
| innodb_open_files               | 300                    |
| innodb_print_all_deadlocks      | OFF                    |
| innodb_purge_batch_size         | 20                     |
| innodb_purge_threads            | 0                      |
| innodb_random_read_ahead        | OFF                    |
| innodb_read_ahead_threshold     | 56                     |
| innodb_read_io_threads          | 4                      |
| innodb_replication_delay        | 0                      |
| innodb_rollback_on_timeout      | OFF                    |
| innodb_rollback_segments        | 128                    |
| innodb_spin_wait_delay          | 6                      |
| innodb_stats_method             | nulls_equal            |
| innodb_stats_on_metadata        | ON                     |
| innodb_stats_sample_pages       | 8                      |
| innodb_strict_mode              | OFF                    |
| innodb_support_xa               | ON                     |
| innodb_sync_spin_loops          | 30                     |
| innodb_table_locks              | ON                     |
| innodb_thread_concurrency       | 0                      |
| innodb_thread_sleep_delay       | 10000                  |
| innodb_use_native_aio           | OFF                    |
| innodb_use_sys_malloc           | ON                     |
| innodb_version                  | 5.5.33                 |
| innodb_write_io_threads         | 4                      |
+---------------------------------+------------------------+
60 rows in set (0.02 sec)
mysql> SET GLOBAL innodb_file_per_table=ON;因為是全局變量,所以要這樣設置,并重登陸mysql才行。
Query OK, 0 rows affected (0.01 sec)

想永久有效,要修改配置文件

vim /etc/my.cnf

mysqld中加入 innodb_file_per_table = ON

表創建:第二種方式(復制表數據)數據屬性會丟失(不推薦)

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name

   [(create_definition,…)]

   [table_options]

   select_statement

mysql> CREATE TABLE t2 SELECT * FROM t1;
Query OK, 1 row affected (0.14 sec)
Records: 1  Duplicates: 0  Warnings: 0
mysql> DESC t1;
+-------+---------------------+------+-----+---------+-------+
| Field | Type                | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| Name  | varchar(50)         | NO   | PRI | NULL    |       |
| Age   | tinyint(3) unsigned | NO   | PRI | NULL    |       |
+-------+---------------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> DESC t2;
+-------+---------------------+------+-----+---------+-------+
| Field | Type                | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| Name  | varchar(50)         | NO   |     | NULL    |       |
| Age   | tinyint(3) unsigned | NO   |     | NULL    |       |
+-------+---------------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> SELECT * FROM t1;
+------+-----+
| Name | Age |
+------+-----+
| tom  |  23 |
+------+-----+
1 row in set (0.00 sec)
mysql> SELECT * FROM t2;
+------+-----+
| Name | Age |
+------+-----+
| tom  |  23 |
+------+-----+
1 row in set (0.00 sec)

表創建:第三種方式(復制表結構,基于某表創建空表)

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name

    { LIKE old_tbl_name | (LIKE old_tbl_name) }

mysql> CREATE TABLE t3 LIKE t1;
Query OK, 0 rows affected (0.05 sec)
mysql> SELECT * FROM t1;
+------+-----+
| Name | Age |
+------+-----+
| tom  |  23 |
+------+-----+
1 row in set (0.00 sec)
mysql> SELECT * FROM t3;
Empty set (0.00 sec)
mysql> DESC t1;
+-------+---------------------+------+-----+---------+-------+
| Field | Type                | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| Name  | varchar(50)         | NO   | PRI | NULL    |       |
| Age   | tinyint(3) unsigned | NO   | PRI | NULL    |       |
+-------+---------------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> DESC t3;
+-------+---------------------+------+-----+---------+-------+
| Field | Type                | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| Name  | varchar(50)         | NO   | PRI | NULL    |       |
| Age   | tinyint(3) unsigned | NO   | PRI | NULL    |       |
+-------+---------------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

先使用第三種方式復制表結構,再用第二種方式復制數據,這樣才完整;

表刪除:

    DROP [TEMPORARY] TABLE [IF EXISTS]

   tbl_name [, tbl_name] …

   [RESTRICT | CASCADE]

CASCADE:級聯刪除:刪除一張表A,但C表也依賴A,這時刪除A的同時也刪除C。

表修改:

ALTER TABLE tbl_name

    [alter_specification [, alter_specification] …]

修改字段定義:

    插入新字段

mysql> ALTER TABLE t1 ADD ID INT UNSIGNED NOT NULL;
Query OK, 1 row affected (0.06 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> DESC t1;
+-------+---------------------+------+-----+---------+-------+
| Field | Type                | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| Name  | varchar(50)         | NO   | PRI | NULL    |       |
| Age   | tinyint(3) unsigned | NO   | PRI | NULL    |       |
| ID    | int(10) unsigned    | NO   |     | NULL    |       |
+-------+---------------------+------+-----+---------+-------+
3 rows in set (0.01 sec)

mysql> ALTER TABLE t1 ADD Gender ENUM('M','F') NOT NULL DEFAULT 'M' AFTER Name;
Query OK, 1 row affected (0.06 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> DESC t1;
+--------+---------------------+------+-----+---------+-------+
| Field  | Type                | Null | Key | Default | Extra |
+--------+---------------------+------+-----+---------+-------+
| Name   | varchar(50)         | NO   | PRI | NULL    |       |
| Gender | enum('M','F')       | NO   |     | M       |       |
| Age    | tinyint(3) unsigned | NO   | PRI | NULL    |       |
| ID     | int(10) unsigned    | NO   |     | NULL    |       |
+--------+---------------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

    刪除字段

    DROP [COLUMN] col_name

mysql> ALTER TABLE t1 DROP Age;
Query OK, 1 row affected (0.02 sec)
Records: 1  Duplicates: 0  Warnings: 0
mysql> DESC t1;
+--------+------------------+------+-----+---------+-------+
| Field  | Type             | Null | Key | Default | Extra |
+--------+------------------+------+-----+---------+-------+
| Name   | varchar(50)      | NO   | PRI | NULL    |       |
| Gender | enum('M','F')    | NO   |     | M       |       |
| ID     | int(10) unsigned | NO   |     | NULL    |       |
+--------+------------------+------+-----+---------+-------+
3 rows in set (0.02 sec)

    修改字段

    修改字段名稱

    CHANGE [COLUMN] old_col_name new_col_name column_definition

        [FIRST|AFTER col_name]

mysql> DESC t1;
+--------+------------------+------+-----+---------+-------+
| Field  | Type             | Null | Key | Default | Extra |
+--------+------------------+------+-----+---------+-------+
| Name   | varchar(50)      | NO   | PRI | NULL    |       |
| ID     | int(10) unsigned | NO   |     | NULL    |       |
| Gender | enum('M','F')    | NO   |     | NULL    |       |
+--------+------------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql> ALTER TABLE t1 CHANGE Name Stuname varchar(50) NOT NULL;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC t1;
+---------+------------------+------+-----+---------+-------+
| Field   | Type             | Null | Key | Default | Extra |
+---------+------------------+------+-----+---------+-------+
| Stuname | varchar(50)      | NO   | PRI | NULL    |       |
| ID      | int(10) unsigned | NO   |     | NULL    |       |
| Gender  | enum('M','F')    | NO   |     | NULL    |       |
+---------+------------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

    修改字段類型及屬性等

    MODIFY [COLUMN] col_name column_definition

        [FIRST | AFTER col_name]

mysql> DESC t1;
+--------+------------------+------+-----+---------+-------+
| Field  | Type             | Null | Key | Default | Extra |
+--------+------------------+------+-----+---------+-------+
| Name   | varchar(50)      | NO   | PRI | NULL    |       |
| Gender | enum('M','F')    | NO   |     | M       |       |
| ID     | int(10) unsigned | NO   |     | NULL    |       |
+--------+------------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
mysql> ALTER TABLE t1 MODIFY Gender ENUM('M','F') NOT NULL AFTER ID;
Query OK, 1 row affected (0.01 sec)
Records: 1  Duplicates: 0  Warnings: 0
mysql> DESC t1;
+--------+------------------+------+-----+---------+-------+
| Field  | Type             | Null | Key | Default | Extra |
+--------+------------------+------+-----+---------+-------+
| Name   | varchar(50)      | NO   | PRI | NULL    |       |
| ID     | int(10) unsigned | NO   |     | NULL    |       |
| Gender | enum('M','F')    | NO   |     | NULL    |       |
+--------+------------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

    修改約束、鍵或索引:

mysql> ALTER TABLE t1 ADD INDEX(Stuname);
Query OK, 1 row affected (0.00 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> SHOW INDEXES FROM t1;
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| t1    |          0 | PRIMARY  |            1 | Stuname     | A         |           1 |     NULL | NULL   |      | BTREE      |         |               |
| t1    |          1 | Stuname  |            1 | Stuname     | A         |        NULL |     NULL | NULL   |      | BTREE      |         |               |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
2 rows in set (0.12 sec)

刪除索引

mysql> ALTER TABLE t1 DROP INDEX Stuname;
Query OK, 1 row affected (0.01 sec)
Records: 1  Duplicates: 0  Warnings: 0
mysql> SHOW INDEXES FROM t1;
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| t1    |          0 | PRIMARY  |            1 | Stuname     | A         |           1 |     NULL | NULL   |      | BTREE      |         |               |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
1 row in set (0.01 sec)

    表改名:

    RENAME [TO|AS] new_tbl_name

mysql> ALTER TABLE t1 RENAME TO t8;
Query OK, 0 rows affected (0.01 sec)
mysql> SHOW TABLES;
+----------------+
| Tables_in_mydb |
+----------------+
| t2             |
| t3             |
| t8             |
+----------------+
3 rows in set (0.00 sec)

或直接使用RENAME改名

RENAME TABLE tbl_name TO new_tbl_name

    [, tbl_name2 TO new_tbl_name2] …

mysql> RENAME TABLE t8 TO t1;
Query OK, 0 rows affected (0.03 sec)
mysql> SHOW TABLES;
+----------------+
| Tables_in_mydb |
+----------------+
| t1             |
| t2             |
| t3             |
+----------------+
3 rows in set (0.02 sec)
    mysql> RENAME TABLE old_name TO new_name;

改變存儲引擎:

mysql> SHOW TABLE STATUS LIKE 't1'\G;
*************************** 1. row ***************************
           Name: t1
         Engine: MyISAM
        Version: 10
     Row_format: Dynamic
           Rows: 1
 Avg_row_length: 20
    Data_length: 20
Max_data_length: 281474976710655
   Index_length: 2048
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2015-06-01 06:04:40
    Update_time: 2015-06-01 06:04:40
     Check_time: NULL
      Collation: utf8_general_ci
       Checksum: NULL
 Create_options: 
        Comment: 
1 row in set (0.01 sec)
ERROR: 
No query specified
mysql> ALTER TABLE t1 ENGINE=INNODB;
Query OK, 1 row affected (0.16 sec)
Records: 1  Duplicates: 0  Warnings: 0
mysql> SHOW TABLE STATUS LIKE 't1'\G;
*************************** 1. row ***************************
           Name: t1
         Engine: InnoDB
        Version: 10
     Row_format: Compact
           Rows: 1
 Avg_row_length: 16384
    Data_length: 16384
Max_data_length: 0
   Index_length: 0
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2015-06-01 06:15:20
    Update_time: NULL
     Check_time: NULL
      Collation: utf8_general_ci
       Checksum: NULL
 Create_options: 
        Comment: 
1 row in set (0.00 sec)
ERROR: 
No query specified

    指定排序標準的字段:

    ORDER BY col_name [, col_name] …

    轉換字符集及排序規則:

    CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]

    表選項修改:

    [table_options]

    ENGINE [=] engine_name

    mysql> SHOW ENGINES;

    AUTO_INCREMENT [=] value

    [DEFAULT] CHARACTER SET [=] charset_name

    [DEFAULT] COLLATE [=] collation_name

    COMMENT [=] 'string'

    DELAY_KEY_WRITE [=] {0 | 1}

    ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}

    TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}]

練習題:

新建如下表(包括結構和內容):

ID    Name          Age     Gender     Course

1     Ling Huchong   24      Male       Hamogong

2     Huang Rong    19      Female     Chilian Shenzhang

3     Lu Wushaung   18      Female     Jiuyang Shenggong

4     Zhu Ziliu     52      Male       Pixie Jianfa

5     Chen Jialuo   22      Male       Xianglong Shiba Zhang

6  Ou Yangfeng   70      Male       Shenxiang Bannuo Gong

1、新增字段:

Class 字段定義自行選擇;放置于Name字段后;

2、將ID字段名稱修改為TID;

3、將Age字段放置最后;

mysql> CREATE TABLE t4 (ID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,NAME CHAR(30) NOT NULL,GENDER ENUM('M','F') DEFAULT 'M' NOT NULL,COURSE CHAR(50) NOT NULL);
Query OK, 0 rows affected (0.08 sec)
mysql> DESC t4;
+--------+------------------+------+-----+---------+----------------+
| Field  | Type             | Null | Key | Default | Extra          |
+--------+------------------+------+-----+---------+----------------+
| ID     | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| NAME   | char(30)         | NO   |     | NULL    |                |
| GENDER | enum('M','F')    | NO   |     | M       |                |
| COURSE | char(50)         | NO   |     | NULL    |                |
+--------+------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
mysql> ALTER TABLE t4 ADD AGE TINYINT UNSIGNED NOT NULL AFTER NAME;
Query OK, 0 rows affected (0.11 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC t4;
+--------+---------------------+------+-----+---------+----------------+
| Field  | Type                | Null | Key | Default | Extra          |
+--------+---------------------+------+-----+---------+----------------+
| ID     | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |
| NAME   | char(30)            | NO   |     | NULL    |                |
| AGE    | tinyint(3) unsigned | NO   |     | NULL    |                |
| GENDER | enum('M','F')       | NO   |     | M       |                |
| COURSE | char(50)            | NO   |     | NULL    |                |
+--------+---------------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
mysql> INSERT INTO t4 (NAME,AGE,GENDER,COURSE) VALUE('Ling Huchong',24,'M','Huashanpai'),('Huang Rong',19,'F','Chilian Shenzhang')
    -> ;
Query OK, 2 rows affected (0.03 sec)
Records: 2  Duplicates: 0  Warnings: 0
mysql> INSERT INTO t4 (NAME,AGE,GENDER,COURSE) VALUE('Lu Wushang',18,'F','Jiuyang Shengong'),('Zhu ziliu',52,'M','Pixie Jianfa'),('Chen Jialuo',22,'M','Xianglong Shiba Zhang'),('Ou Yangfeng',70,'M','Shenxiang bannuo gong');
Query OK, 4 rows affected (0.04 sec)
Records: 4  Duplicates: 0  Warnings: 0
mysql> SELECT * FROM t4;
+----+--------------+-----+--------+-----------------------+
| ID | NAME         | AGE | GENDER | COURSE                |
+----+--------------+-----+--------+-----------------------+
|  1 | Ling Huchong |  24 | M      | Huashanpai            |
|  2 | Huang Rong   |  19 | F      | Chilian Shenzhang     |
|  3 | Lu Wushang   |  18 | F      | Jiuyang Shengong      |
|  4 | Zhu ziliu    |  52 | M      | Pixie Jianfa          |
|  5 | Chen Jialuo  |  22 | M      | Xianglong Shiba Zhang |
|  6 | Ou Yangfeng  |  70 | M      | Shenxiang bannuo gong |
+----+--------------+-----+--------+-----------------------+
6 rows in set (0.02 sec)
mysql> DESC t4;
+--------+---------------------+------+-----+---------+----------------+
| Field  | Type                | Null | Key | Default | Extra          |
+--------+---------------------+------+-----+---------+----------------+
| ID     | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |
| NAME   | char(30)            | NO   |     | NULL    |                |
| AGE    | tinyint(3) unsigned | NO   |     | NULL    |                |
| GENDER | enum('M','F')       | NO   |     | M       |                |
| COURSE | char(50)            | NO   |     | NULL    |                |
+--------+---------------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)
mysql> ALTER TABLE t4 ADD CLASS CHAR(40) NOT NULL AFTER NAME;
Query OK, 6 rows affected (0.10 sec)
Records: 6  Duplicates: 0  Warnings: 0
mysql> DESC t4;
+--------+---------------------+------+-----+---------+----------------+
| Field  | Type                | Null | Key | Default | Extra          |
+--------+---------------------+------+-----+---------+----------------+
| ID     | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |
| NAME   | char(30)            | NO   |     | NULL    |                |
| CLASS  | char(40)            | NO   |     | NULL    |                |
| AGE    | tinyint(3) unsigned | NO   |     | NULL    |                |
| GENDER | enum('M','F')       | NO   |     | M       |                |
| COURSE | char(50)            | NO   |     | NULL    |                |
+--------+---------------------+------+-----+---------+----------------+
6 rows in set (0.02 sec)
mysql> ALTER TABLE t4 CHANGE ID TID INT UNSIGNED NOT NULL AUTO_INCREMENT;
Query OK, 6 rows affected (0.11 sec)
Records: 6  Duplicates: 0  Warnings: 0
mysql> DESC t4;
+--------+---------------------+------+-----+---------+----------------+
| Field  | Type                | Null | Key | Default | Extra          |
+--------+---------------------+------+-----+---------+----------------+
| TID    | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |
| NAME   | char(30)            | NO   |     | NULL    |                |
| CLASS  | char(40)            | NO   |     | NULL    |                |
| AGE    | tinyint(3) unsigned | NO   |     | NULL    |                |
| GENDER | enum('M','F')       | NO   |     | M       |                |
| COURSE | char(50)            | NO   |     | NULL    |                |
+--------+---------------------+------+-----+---------+----------------+
6 rows in set (0.00 sec)
mysql> ALTER TABLE t4 MODIFY AGE TINYINT UNSIGNED NOT NULL AFTER COURSE;
Query OK, 6 rows affected (0.07 sec)
Records: 6  Duplicates: 0  Warnings: 0
mysql> DESC t4;
+--------+---------------------+------+-----+---------+----------------+
| Field  | Type                | Null | Key | Default | Extra          |
+--------+---------------------+------+-----+---------+----------------+
| TID    | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |
| NAME   | char(30)            | NO   |     | NULL    |                |
| CLASS  | char(40)            | NO   |     | NULL    |                |
| GENDER | enum('M','F')       | NO   |     | M       |                |
| COURSE | char(50)            | NO   |     | NULL    |                |
| AGE    | tinyint(3) unsigned | NO   |     | NULL    |                |
+--------+---------------------+------+-----+---------+----------------+
6 rows in set (0.02 sec)

原創文章,作者:黑白子,如若轉載,請注明出處:http://www.www58058.com/4924

(0)
黑白子黑白子
上一篇 2015-06-01
下一篇 2015-06-01

相關推薦

  • 重定向、管道——Linux基本命令(9)

    1.     輸出重定向 Linux默認輸入是鍵盤,輸出是顯示器??梢杂弥囟ㄏ騺砀淖冞@些設置。比如用wc命令的時候本來是要手動輸入一篇文字來計算字符數的,可以直接把一個已經寫好的文件用‘<’指向這條命令,就直接可以統計這個文件的字符數等了。   STDOUT(標準輸出)和STDERR(標準錯誤)可以被重…

    2017-07-20
  • N-22-南京-修 第二周作業

    linux文件管理命令有:cp,mv,rm cp命令:用于復制件或目錄文 [root@localhost etc]# cp -i /etc/passwd /tmp/123 [root@localhost etc]# cd /tmp [root@localhost tmp…

    Linux干貨 2016-08-22
  • 路由配置注意事項

    路由配置注意事項 在把linux主機當做路由的時候,切記把轉發功能打開,防火墻關閉,否則到頭來一場空。 紅臉主機: 黃臉主機: 路由A: [root@localhost network-scripts]# ip route 192.168.240.0/24 via 10.0.0.11 dev eth1 172.16.0.0/16 dev eth0 proto…

    2017-05-03
  • Javascript 裝載和執行

    一兩個月前在淘寶內網里看到一個優化Javascript代碼的競賽,發現有不少的人對Javascript的執行和裝載的基礎并不懂,所以,從那天起我就想寫一篇文章,但一直耽擱了。自上篇《瀏覽器渲染原理簡介》,正好也可以承前啟后。 首先,我想說一下Javascript的裝載和執行。通常來說,瀏覽器對于Javascript的運行有兩大特性:1)載入后馬上執行,2)執…

    Linux干貨 2016-08-15
  • Centos 7 DNS配置及理論詳解

    DNS是什么及BIND講解內容 域名系統(英文:Domain Name System,縮寫:DNS)是internet的一項服務。它作為將域名和IP地址相互映射服務,能夠使人更方便地訪問互聯網。DNS使用TCP和UDP端口53。當前,對于每一級域名長度的限制是63個字符,域名總長度則不能超過253個字符。講解內容:    DNS名稱解析方…

    Linux干貨 2016-04-25
  • IO重定向和管理及管道

    IO重定向   通常對程序來講,輸入輸出數據可以是鍵盤、鼠標、顯示器等;IO重定向就是將原來系統命令的默認執行方式進行改變,比如說簡單的我不想看到在顯示器輸出而是希望輸入到某以文件中的可以通過Linux重定向進行這項工作。  IO重定向和FD(File Descriptor)有關。      標準輸入(std…

    Linux干貨 2016-08-05

評論列表(2條)

  • stanley
    stanley 2015-06-01 19:16

    暴風雨來的有些猛烈呢,文章伊始要有些過渡或介紹就好多了,另外,標簽會添加文章seo命中率哦

    • 黑白子
      黑白子 2015-06-01 21:18

      @stanley好的。

欧美性久久久久