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;

如有错误,还请指正哦~

猜你喜欢

转载自blog.csdn.net/qq_29340989/article/details/78182462