0
点赞
收藏
分享

微信扫一扫

mysql表的创建

JamFF 2022-01-16 阅读 61

7、表的创建(建表)

7.1、建表的语法格式:(建表属于DDL语句,DDL包括:create drop alter)

    create table 表名(字段名1 数据类型, 字段名2 数据类型, 字段名3 数据类型);

    create table 表名(
        字段名1 数据类型, 
        字段名2 数据类型, 
        字段名3 数据类型
    );

    表名:建议以t_ 或者 tbl_开始,可读性强。见名知意。
    字段名:见名知意。
    表名和字段名都属于标识符。

7.2、关于mysql中的数据类型?

    很多数据类型,我们只需要掌握一些常见的数据类型即可。

        varchar(最长255)
            可变长度的字符串
            比较智能,节省空间。
            会根据实际的数据长度动态分配空间。

            优点:节省空间
            缺点:需要动态分配空间,速度慢。

        char(最长255)
            定长字符串
            不管实际的数据长度是多少。
            分配固定长度的空间去存储数据。
            使用不恰当的时候,可能会导致空间的浪费。

            优点:不需要动态分配空间,速度快。
            缺点:使用不当可能会导致空间的浪费。

            varchar和char我们应该怎么选择?
                性别字段你选什么?因为性别是固定长度的字符串,所以选择char。
                姓名字段你选什么?每一个人的名字长度不同,所以选择varchar。

        int(最长11)
            数字中的整数型。等同于java的int。

        bigint
            数字中的长整型。等同于java中的long。

        float    
            单精度浮点型数据

        double
            双精度浮点型数据

        date
            短日期类型

        datetime
            长日期类型

        clob
            字符大对象
            最多可以存储4G的字符串。
            比如:存储一篇文章,存储一个说明。
            超过255个字符的都要采用CLOB字符大对象来存储。
            Character Large OBject:CLOB


        blob
            二进制大对象
            Binary Large OBject
            专门用来存储图片、声音、视频等流媒体数据。
            往BLOB类型的字段上插入数据的时候,例如插入一个图片、视频等,
            你需要使用IO流才行。
    

7.3、创建一个学生表?
    学号、姓名、年龄、性别、邮箱地址
    create table t_student(
        no int,
        name varchar(32),
        sex char(1),
        age int(3),
        email varchar(255)
    );

    删除表:
        drop table t_student; // 当这张表不存在的时候会报错!

        // 如果这张表存在的话,删除
        drop table if exists t_student;
    
7.4、插入数据insert (DML)
    
    语法格式:
        insert into 表名(字段名1,字段名2,字段名3...) values(值1,值2,值3);

        注意:字段名和值要一一对应。什么是一一对应?
            数量要对应。数据类型要对应。
    
    insert into t_student(no,name,sex,age,email) values(1,'zhangsan','m',20,'zhangsan@123.com');
    insert into t_student(email,name,sex,age,no) values('lisi@123.com','lisi','f',20,2);

    insert into t_student(no) values(3);

    注意:insert语句但凡是执行成功了,那么必然会多一条记录。
    没有给其它字段指定值的话,默认值是NULL。

    insert语句中的“字段名”可以省略吗?可以
        insert into t_student values(2); //错误的

        // 注意:前面的字段名省略的话,等于都写上了!所以值也要都写上!
        insert into t_student values(2, 'lisi', 'f', 20, 'lisi@123.com');

7.7、修改update(DML)

语法格式:
    update 表名 set 字段名1=值1,字段名2=值2,字段名3=值3... where 条件;

    注意:没有条件限制会导致所有数据全部更新。

    update t_user set name = 'jack', birth = '2000-10-11' where id = 2;

7.8、删除数据 delete (DML)
    语法格式?
        delete from 表名 where 条件;

    注意:没有条件,整张表的数据会全部删除!

    delete from t_user where id = 2;

    insert into t_user(id) values(2);

    delete from t_user; // 删除所有!
 

举报

相关推荐

mysql创建表

mysql创建表创建索引

Mysql 创建临时表

PHP 创建 MySQL 表

MySQL学生表创建

MySQL创建新表

mysql 通过 csv 创建表

0 条评论