MySQL基础之增删改语句及表和库管理语句总结

DML语句

一、 插入语句

方式一:

insert into 表名(字段名,...)       //字段可以省略,但默认所有字段  values(1... ) ;    

方式二:

insert into 表名
set 列名= 值 ,列名=值,···

特点:

1、字段类型和值类型一致或兼容,而且一一对应

2、可以为null的字段,可以不用插入值,或用null填充 不可以为空的字段,必须插入值

3、字段个数和值的个数必须一致

4、字段可以省略,但默认所有字段,并且顺序和表中的存储顺序一致

5、假如表中有可以为null的字段,注意可以通过以下两种方式插入nul值

① 字段和值都省略

②字段写上,值使用null

二、修改语句

修改单表语法:

update 表名 
set 字段=新值,字段=新值
【where 条件】;

修改多表92语法:

update1 别名1,2 别名2
set 字段=新值,字段=新值
where 连接条件 and 筛选条件;

修改多表99语法:

update1  别名
inner/left/right   join2   别名
on  连接条件
set=, ···;

例:修改张无忌的女朋友的手机号为114

update boys bo
inner   join beauty   b 
on   bo.id  = b.boyfriend_id
set   b.phone  =   "114"
where  bo.boyname = “张无忌”;  

三、删除语句

方式一:
单表的删除:

	delete from 表名
【where 筛选条件】
【limit 条目数】

例 删除手机号以9结尾的女生信息
delete  from   beauty   
where   phone  like   '%9';

多表的删除:

92语法:
​	delete 别名1,别名2from1 别名1,表2 别名2where 连接条件
​	and 筛选条件;


99语法:
delete1的别名 , 表2的别名
from1  别名
inner|left|right   join2  别名
on   连接条件
where   筛选条件


删除张无忌的女朋友的信息
delete  b
from   boy  bo
inner join   boy bo
on   b. boyfriend_id=bo.id
where  bo.boyName = ' 张无忌'

方式2:
truncate语句

truncate table 表名;

特点
1、删除整个表之中的内容 不能加where条件
2 、假如要删除的表中有自增长列,如果用delete 删除后,再插入数据,自增长列的值从断点开始,而 truncate删除后,再插入数据,自增长列的值从1开始
3、truncate 删除,效率高一点
4、truncate 删除不能回滚,delete 删除可以回滚

delete和truncate方式的区别【面试题】

1.truncate不能加筛选条件,而delete可以加where条件
2.truncate的效率高一丢丢
3.truncate 删除带自增长的列的表后,如果再插入数据,数据从1开始, delete 删除带自增长列的表后,如果再插入数据,数据从上一次的断点处开始
4.truncate删除不能回滚,delete删除可以回滚
5、truncate没有返回值,delete可以返回受影响的行数

DDL语句

库的管理:

一、创建库
  create database [if not exists]   库名 
    [character set 字符集名];

例:
database if  not  exists  books;

更改库的字符集   
alter  database  books   character set  gbk;
二、修改库
  create database 库名   [character set 字符集名]
三、删除库
  drop databaseif exists】   库名
  
drop database if exists 旧库名;
create database 新库名;

表的管理

一、创建表 ★
create  tableif  not  exists】表名(
​		字段名  字段类型  【约束】,
​		字段名  字段类型  【约束】,
​		····
​		字段名  字段类型  【约束】
)

创建表
CREATE TABLE IF NOT EXISTS stuinfo(	
    stuId INT,
    stuName VARCHAR(20),
    gender CHAR,
    bornDate DATETIME	
);  

DESC studentinfo;

二、修改表

1、添加列

ALTER TABLE 表名
ADD COLUMN 列名  列类型 【约束】【first|after 字段名】  ;

2、查找列的类型或约束

alter  table   表名  modify  column   列名 新类型   【新约束】;

3、修改列名

ALTER TABLE 表名    CHANGE COLUMN 旧列名  新列名   类型;

4、删除列

ALTER TABLE 表名    DROP COLUMN 列名  ;

5、修改表名

alter  table  表名  renameto】 新表名 ;

例:

①修改列名  
​	ALTER TABLE book  CHANGE COLUMN sex gender CHAR;

②修改列的类型和列级约束
​	ALTER TABLE studentinfo MODIFY COLUMN borndate DATE ;

③ 添加列
	ALTER TABLE studentinfo ADD COLUMN email VARCHAR(20) first;

⑤删除字段		
​		ALTER TABLE studentinfo DROP COLUMN email;

④修改表名
​	ALTER TABLE stuinfo RENAME [TO]  studentinfo;
三、删除表
DROP TABLE [IF EXISTS] 表名;
四、复制表
1、复制表的结构(无数据)
create table  copy  like   author;

2、复制表的结构+数据
create table copy2 select * from author;

3、复制表的结构+部分数据
create table  copy3 
select id,au_name
from author
where nation = "中国";

4、仅仅复制某些列 
create table copy4 
select id,au_name
from author
where 0;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值