MYSQL操作之DDL

數據定義語言,用來定義數據庫對象:庫、表、列等;
    使用關鍵字:CREATE、 ALTER、DROP

一.操作數據庫(DDL)

    1.創建數據庫   
        語法:CREATE DATABASE 數據庫名
        例:
        CREATE DATABASE mydb1;(常用)
        CREATE DATABASE mydb2 CHARACTER SET utf8;   --指定字符集
        CREATE DATABASE mydb3 CHARACTER SET gbk COLLATE gbk_chinese_ci ; --指定字符集和該字符集的校對規則

    2.查詢
        查看當前數據庫服務器中的所有數據庫
        SHOW DATABASES;

        查看前面創建的mydb2數據庫的定義信息
        SHOW CREATE DATABASE mydb2;

        刪除前面創建的mydb3數據庫
        DROP DATABASE mydb3;

    3.修改
        查看服務器中的數據庫,並把mydb2的字符集修改爲gbk;
        ALTER DATABASE mydb2 CHARACTER SET gbk;

    4.刪除
        DROP DATABASE mydb2;

    5.其他
        查看當前使用的數據庫
        SELECT DATABASE();

        切換數據庫
        USE mydb1;

二.操作數據表(DDL)

    1.添加表
        語法:
        create table 表名(
            字段1 字段類型,
            字段2 字段類型,
            ...
            字段n 字段類型
        );

        常用數據類型:
            int:整型
            double:浮點型,例如double(5,2)表示最多5位,其中必須有2位小數,即最大值爲999.99;
            char:固定長度字符串類型; char(10)  'abc       '
            varchar:可變長度字符串類型;varchar(10) 'abc'
            text:字符串類型;
            blob:字節類型;
            date:日期類型,格式爲:yyyy-MM-dd;
            time:時間類型,格式爲:hh:mm:ss
            timestamp:時間戳類型 yyyy-MM-dd hh:mm:ss  會自動賦值
            datetime:日期時間類型 yyyy-MM-dd hh:mm:ss

        create table student(
            id int,
            name varchar(20),
            chinese float,
            english float,
            math float
        );

    2.插入多條數據
        語法:insert into <表名> [(<屬性名清單>)] values (<常量清單>)

        屬性名清單的參數跟常量清單的值要一一對應,如屬性名清單是表中的所有屬性,則可以省略不寫。

        insert into student(id,name,chinese,english,math) values(1,'張小明',89,78,90);
        insert into student(id,name,chinese,english,math) values(2,'李進',67,98,56);
        insert into student(id,name,chinese,english,math) values(3,'王五',87,78,77);
        insert into student(id,name,chinese,english,math) values(4,'李一',88,98,90);
        insert into student(id,name,chinese,english,math) values(5,'李來財',82,84,67);
        insert into student(id,name,chinese,english,math) values(6,'張進寶',55,85,45);
        insert into student(id,name,chinese,english,math) values(7,'黃蓉',75,65,30);
        或
        insert into student(id,name,chinese,english,math) 
                      values(8,'張小明',89,78,90),
                            (9,'王五',96,75,95),
                            (10,'李四',81,52,78),
                            (11,'張三',85,72,68);


    3.查詢當前數據庫中的所有表
        show tables;

    4.查看錶的字段信息
        desc student;

    alter語法:
    alter table <表名> 
    //爲表添加新列或者表級完整性約束,且新列必須允許爲空
    [add <列名><數據類型>[列的完整性約束]]|[add<表級完整性約束>]   
    //修改表中原有列的數據類型,不修改類名。通常當該列上有約束定義時,不能修改數據類型
    [alter column <列名> <新的數據類型>] 
    // 在表中刪除一個原有的列
    [drop column <列名>]  
    //刪除原有的表級完整性約束,刪除時指定要刪除的約束名稱    
    [drop constraint <表級完整性約束>]   

    5.給表添加一列,列名爲sex,類型爲字節類型varchar
        alter table student add age varchar(10);

    6.修改age列,使其類型爲int。  
        alter table student modify age int;

    7.刪除age列,一次只能刪一列。
        alter table student drop age;

    8.表名改爲user。
        rename table student to user;

    9.查看錶格的創建細節
        show create table user;

    10.修改表的字符集爲gbk
        alter table user character set gbk;

    11.列名name修改爲username
        alter table user change name username varchar(50);

    12.給sid添加主鍵約束
    alter table stu add CONSTRAINT PRIMARY key(sid);//

    13.刪除表
        drop table user;

如有錯誤,還請指正哦~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章