表的创建,删除,插入,修改

目录

一、表的创建

二、表的删除

三、插入数据insert (DML)

四、函数format        str_to_date        date_format

五、date和datetime两个类型的区别?

六、数据库修改update(DML)

七、删除数据delete


一、表的创建

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

                字段名1  数据类型,

                字段名2  数据类型,

                字段名3  数据类型

        );

        表名:建议以 t_ 或者 tbl_ 开始,可读性强。

        字段名:见名知意 。

        名和字段名都属于标识符。

        快速创建表    mysql> create table emp2 as select * from emp;

        将一个查询结果当做一张表新建!!!!!这个可以完成表的快速复制!!!!

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

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

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

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

        优点:不需要动态分配空间,速度快。    

        缺点:使用不当可能会导致空间的浪费。

        eg:因为性别是固定长度的字符串,所以选择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流才行-l

eg:创建一个学生表
学号、姓名、年龄、性别、邮箱地址

create table t _student(
        no int,

        name varahar (32),

        sex char (1),

        age int[3),

        email varchar(255)

) ;

二、表的删除

删除表:  drop table t_student;        

         //当这张表不存在的时候会报错!

        //如果这张表存在的话,删除
        drop table if exists t _student;

三、插入数据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');

drop table if exists t_student;

create table t_student(
        no int,
        name varahar (32),

        sex char(1) default 'm',        //default指定默认值
        age int(3) ,
        email varchar (255)

);

insert语句中的字段名可以省略

注意:前面的字段名省略的话,等于都写上了!所以值也要都写上!

将查询结果插入到一张表当中?

insert into dept_bak select * from dept;

四、函数format        str_to_date        date_format

1、格式化数字:format(数字,'格式')
select ename , format(sal, '$999,999' ) as sal from emp;

2、str_to_date:将字符串varchar类型转换成date日期类型类型

语法格式:
        str_to_date('字符串日期·,'日期格式')      str_to_date(‘01-10-2000’,‘%d-%m-%Y’)
mysql的日期格式:
        年  %Y

        月  %m

        日  %d

        时  %h

        分  %i

        秒  %s

        str to_ date函数可以把字符串varchar转换成日期date类型数据,
        通常使用在插入insert方面,因为插入的时候需要一个日期类型的数据,需要通过该函数将字符串转换成date.

如果提供的日期字符串是这个格式,str_to date函数就不需要了!!!   %Y-%m-%d

3、date_format:将date类型转换成varchar类型。 

这个函数可以将日期类型转换成特定格式的字符串-

        select id,name , date_format (birth, ' %m/%d/%Y') as birth from t_user;
        date format(日期类型数据,'日期格式')
        这个函效通常使用在查询日期方面。设置展示的日期格式。

五、date和datetime两个类型的区别?

        date是短日期: 只包括年月日信息。
        datetime是长日期: 包括年月日时分秒信息。

         mysql短日期默认格式:%Y-%m-%d
        mysql长日期默认格式:%Y-%m-%d %h:%i:%s

在mysql当中怎么获取系统当前时间?
        now()  函数   并且获取的时间带有:时分秒信息!!!! 是datetime类型的。

六、数据库修改update(DML)

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

        注意:没有条件限制会导致所有数据全部更新
        update t_user set name = 'jack ', birth = ‘2000-10-11' where id = 2;

七、删除数据delete

1、语法格式:
        delete fromn 表名 where 条件;
        注意:没有条件,整张表的数据会全部删除!

        delete from t_user where id = 2;

2、delete语句删除数据的原理?(delete属于DML语句!!!)

        表中的数据被删除了,但是这个数据在硬盘上的真实存储空间不会被释放!!!

        这种删除缺点是:删除效率比较低。

        这种删除优点是:支持回滚,后悔了可以再恢复数据!!!

 3、truncate语句删除数据的原理?

        这种删除效率比较高,表被一次截断,物理删除。

        这种删除缺点:不支持回滚。

        这种删除优点:快速。

        用法:truncate table dept_bak; (这种操作属于DDL操作。)

        注意:drop table 表名;//这不是删除表中的数据,这是把表删除。


 

  • 21
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机器人spider

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值