データベース構造定義文DDL(2)

8857 ワード

≪リンク・データベース|Linked Database|oem_src≫:Windowsの環境変数に追加した場合、コマンド・ラインの下で直接操作し、コマンドを使用してデータベースをリンクできます.
mysql -h localhost -u root -p
/*
-h          ,       
-u         
-p         
*/

データベース構造定義文:1.データベース操作2.データテーブル操作3.データフィールドアクション
データベースの操作
データベースの作成
基本構文create database ;
mysql> create database kkcode;
/*
Query OK,1 row affected (0.00 sec)
Query OK           ,   DDL DML(   SELECT)          "Query OK" 
1 row affected                
0.00 sec          
*/

データベースの表示
基本文法(show databases;)//現在のサーバのすべてのデータベースを表示
データベースの選択またはデータベースの切り替え
基本構文(useデータベース名;)例
mysql> use kkcode;
//         kkcode

データベース内のテーブルの表示
基本文法(show tables;)//現在のデータベースの下にあるすべてのテーブルを表示
mysql> use mysql;
mysql> show tables;
/*
                      ,  ,     ,          .
*/

データベースの削除
構文(drop databaseライブラリ名)
drop database kkcode;
/*
       ,        kkcode
*/

オペレーションデータテーブル
テーブルの作成
構文create table ( 1 ,.... n );create table user(username varchar(20),password varchar(32));
表フィールド構造情報の表示
構文(descテーブル名;)
desc user;

テーブルの作成文の表示
構文show create table \G;の例
show create table emp \G;
Table: emp
Create Table: CREATE TABLE emp (
ename varchar(10) DEFAULT NULL,
hiredate date DEFAULT NULL,
sal decimal(10,2) DEFAULT NULL,
deptno int(2) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1 row in set (0.00 sec)
ERROR:
No query specified
       SQL
   ,           ,       
engine(    )  
charset(   )   。“\G”
                    ,   
            

テーブルの削除
構文:drop table ;例:
drop table emp;

テーブルエンジンと文字セットの指定
構文:
      ,    MyISAM  InnoDB  。
      ,      :
ENGINE=InnoDB
        :
DEFAULT CHARSET=utf8
    :
CREATE TABLE emp (
useraname varchar(10) DEFAULT NULL,
password date DEFAULT NULL,
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

データフィールドアクション
テーブルフィールドタイプmodifyの変更
      user ,user    :
mysql> desc user;
+----------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------+------+-----+---------+-------+
| username | varchar(10) | YES | | NULL | |
| password | varchar(32) | YES | | NULL | |
| createtime | int(10) | YES | | NULL | |
| createip | int(10) | YES | | NULL | |
+----------+---------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

基本構文:alter table modify varchar(20);
例:userテーブルのusernameのタイプをvarchar(20)に変更するには、結果を見てみましょう.
mysql> alter table user modify username varchar(20);
Query OK, 0 rows affected (0.48 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc user;
+----------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------+------+-----+---------+-------+
| username | varchar(20) | YES | | NULL | |
| password | varchar(32) | YES | | NULL | |
| createtime | int(10) | YES | | NULL | |
| createip | int(10) | YES | | NULL | |
+----------+---------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

テーブルフィールドを追加
基本構文alter table add column ;
例:
alter table user add column age int(3);
//            age,        3

フィールドを追加するときのフィールド順序の制御
フィールドを挿入した後
ALTER TABLE    ADD           AFTER    ;
   ALTER TABLE user ADD email VARCHAR(60) AFTER createip;
    
user  , createip        email,   varchar ,   60

テーブルの最初の場所にフィールドを追加
     ALTER TABLE    ADD         ;
   ALTER TABLE user ADD id INT(10) FIRST;
    
user                id,   int,
   10

テーブルフィールドの削除
基本構文alter table drop column ;
alter table user drop column age;//      user      age

テーブルフィールドの名前変更
基本構文
alter table    change                ;

alter table user change email em varchar(60);//      user       email     em

表フィールドの変更時の並べ替え順序
前のフィールドの追加および変更文(add/change/modify)では、最後にオプションfirst|afterを追加できます.テーブルフィールドを追加するときに、順序を調整する方法を学びました.別のchangeやmodifyがどのように順序を調整するかを見てみましょう.私たちはfirstで小さな実験をします.
modifyを使用して順序を調整する
mysql> alter table user modify em varchar(60) first;

7.表名の変更
基本構文alter table rename ;
mysql> alter table user rename new_user;