Mysql基础(三)

vivenwan 2020-04-08

#DML语言
/*
    数据操作语言
        插入:insert
                insert into 表名(列名,...) values(值1,...);
                insert into 表名  set 列名=值, 列名=值,...
                
        修改:update
        删除:delete
*/

CREATE TABLE beauty(
id  INT(11) PRIMARY KEY,
`name` VARCHAR(50),
sex CHAR(1),
borndate DATETIME,
phone VARCHAR(11),
photo BLOB,
boyfriend_id INT(11)
);
##插入方式一:
SELECT * FROM beauty;
-- 1.插入值的类型要与列的类型一直或兼容

-- 2.不可以为null的列必须插入值,可以为null的类如何插入值
-- 方式1
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUE(13,‘何苗‘,‘女‘,‘1995-2-4‘,‘13466561321‘,NULL,2);
-- 方式2
INSERT INTO beauty(id,NAME,sex,borndate,phone,boyfriend_id)
VALUE(15,‘雨洁‘,‘女‘,‘1996-6-4‘,‘13436561651‘,2);

-- 3.列数和值的个数一致且对应
-- 可以省略。默认所有列,而且列的顺序和表中列的顺序一致
INSERT INTO beauty 
VALUES(16,‘芳芳‘,‘女‘,NULL,‘23345469858‘,NULL,NULL);

##插入方式二:
-- 
INSERT INTO beauty SET id = 19, NAME = ‘琳琳‘,phone = ‘999‘;

SELECT *FROM beauty;

-- 两种方式pk
-- 方式一支持批量插入多行,方式二不支持
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUE(22,‘何苗‘,‘女‘,‘1995-2-4‘,‘13466561321‘,NULL,2),
     (20,‘何苗‘,‘女‘,‘1995-2-4‘,‘13466561321‘,NULL,2),
     (21,‘何苗‘,‘女‘,‘1995-2-4‘,‘13466561321‘,NULL,2);
     
-- 方式一支持子查询,方式二不支持
INSERT INTO beauty(id,NAME,phone)
SELECT 26,‘colin‘,‘2332432534‘;
##修改语句
/*
1.修改单表的记录
    语法:
        update  表名  set列=新值, 列=新值, ... where 筛选条件
        
2.修改多表的记录
    语法:
        sql192语法:
            update 表1  别名, 表2 别名  set 列=值, ...  where 连接条件  and 筛选条件;
            
        sql199语法:
            update 表1,别名 inner|left|right join  表2  别名 on 连接条件 set 列=值, ...
            where 筛选条件;    
             
*/
 
-- 修改beayty表中姓 琳 的电话号码为888
UPDATE beauty SET phone = ‘888‘
WHERE `name` LIKE ‘琳琳‘;


##删除语句
/*
方式一:delete
    1.单表的删除
      delete from 表名 where 筛选条件

    2.多表的删除
          sql192
              delete 表1的别名,表2的别名
              from表1 别名,  表2  别名
              where 连接条件
              and   筛选条件;
          sql199
              delete 表1的别名 ,表2的表名
              from 表1,别名
              inner|left|right  join 表2 别名 on 连接条件      、
              where 筛选条件;              
    
方式二: truncate
    语法:truncate table 表名;
    
truncate和delete区别:①假如要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列的值从断点开始,
                        而truncate删除后,再插入数据,自增长的值从1开始。
                      ②truncate删除没有返回值,delete删除有返回值
                      ③truncate删除不能回滚,delete删除可以回滚
                           
*/

-- 删除手机号4结尾的信息
DELETE FROM  beauty 
WHERE phone LIKE ‘%4‘;

##truncate  清空数据
TRUNCATE TABLE beauty;

相关推荐