欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MYSQL操作之DDL

程序员文章站 2024-03-17 18:06:10
...
数据定义语言,用来定义数据库对象:库、表、列等;
    使用关键字: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;

如有错误,还请指正哦~

相关标签: mysql 数据库