表文件数据行管理命令

表文件数据行管理:

        1.插入命令: 负责要求MySql服务器向指定的表文件添加数据行
                insert into 表文件名(字段名1,字段名2,字段名3) values(值1,值2,'值3');
               举例:
                    insert into student(no,name,sex,age,email) 
                            values(1,'zhangsan','m',20,'zhangsan@123.com');

             字段名顺序改变,值的顺序也要发生改变,必须一一对应。
             insert into student(email,name,sex,age,no) values('lisi@123.com','lisi','女',20,2);

             如果字段没写全,那么空闲的字段内容默认就是null。也增加一条记录。
             insert into student(name) values('wangwu');

             使用该语句也可以省略全部字段名(相当于全部按顺序都写上了),但是这时值必须写全,且顺序不能变
             insert into student values(4,'zhaoliu','m',19,'zhaoliu@123.com');

             使用default关键字来设定默认值:(在创建表的时候使用)
                 比如:
                         create table student(
                               no int,
                               name varchar(32),
                               sex char(1) default 'm',    #这样创建表格后,性别字段在没有指定值的情况下,默认就是'm',
                               age int(3),
                               email varchar(255)
                               );

        2.查询命令: 负责要求MySql服务器将指定的表文件数据行展示(详解见查询语句)
             select  *  from 表文件名;

        3.删除命令:负责要求MySql服务器将指定的表文件数据行删除
             delete  from 表文件名;                #删除表文件中所有的数据行(表结构还在)
             delete  from 表文件名  where 判断条件;        #将满足条件的数据行进行删除

               举例::
                   delete from student where id = 2;    #删除student表中id = 2的记录

                   delete from student;            #这里没加条件限制,整张表的记录会被全部删除。

        4.更新命令:负责要求MySql服务器将指定的表文件数据行更新
               update 表文件名 set 字段名=新值,字段名2=新值;//将所有数据行指定字段赋新值
               update 表文件名 set 字段名=值,... where 判断条件;//将满足条件的数据行字段信息更新

               举例:把user表中的id = 2的记录name修改为Jack,birth修改为2000-11-05并更新记录创建时间
                   update user set name = 'jack',birth = '2000-11-05',create_time = now() where id = 2;

高级插入命令:
    创建一个名为user的表文件
        create table user(
                id int,
                name varchar(32),
                birth varchar(20),
                cerate_time date
                ); 

        1.一次性向表文件插入多行数据
               insert into 表文件名(字段1,字段2,字段3)
               values (值1,值2,值3),
                          (值10,值20,值30)
                          ...;
           举例:向表user中一次性增加3条记录
               insert into user(id,name,birth,cerate_time) 
               values(1,'zs','1999-09-10',now()),
                         (2,'lisi','2020-03-21',now()),
                         (3,'wangwu','1978-12-11',now());

        2.简化版插入命令:如果插入数据时每一个字段都能赋值,此时插入命令不需要指定字段名,插入值顺序此时需要与表文件字段顺序保持一致。
       insert into 表文件名 values(值1,值2,值3)

        3.数据行备份命令:可以将表A中数据行复制到表B,(表A与表B字段结构必须完全一致,执行命令之前表B已经存在)
       insert into B  select  * from A


表文件备份命令: 将表文件A进行备份,备份生成表文件B
     执行下一行命令语句:(执行命令之前表B不存在
         create table B select * from A

快速删除表中数据:

       delete from dept_bak;//删除dept_bak表中的数据(delete属于DML语句)

       delete语句删除数据的原理:
             表中的数据被删除了,但是这个数据在硬盘上的真实存储空间不会被释放!
                 缺点:删除效率比较低
                 优点:支持回滚,后悔了可以再恢复数据!

       truncate语句删除数据的原理:(需要掌握)(truncate不能删除单条记录)

             属于物理删除,
                     优点:快速,  
                     缺点:不支持回滚,数据不能恢复
             用法:truncate table dept_bak;//删除dept_bak表中数据。(truncate属于DDL操作语句)

       如果有一张数据非常大的表,里面有上亿条记录,使用delete删表中数据也许需要执行1小时才能完成,
       如果选择使用truncate删除表中数据,只需要不到1秒就可以完成(需要提醒用户删除后不能恢复)。

       【delete和truncate是删除数据,删除后表还在!】
 
       【需要删除表,需要执行命令: drop table 表名;//这是删除表!】

数据导入:
    导入数据:source 完整路径名*.sql;  (注意路径中不要有中文)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值