mysql 插入 删除_mysql插入、修改、删除
聯合查詢:
union:合并、聯合,將多次查詢結果合并成一個結果
語法:
查詢語句1:
union【all】
查詢語句2:
union 【all】
。。。
意義
1、將一條比較復雜的查詢語句可拆分成多條語句
2、適用于查詢多個表的時候,查詢的列基本是一致的
四、特點
1、要求多條查詢語句的查詢列數必須一致
2、要求多條查詢語句查詢的各列類型、順序最好一致
3、union去重,union all包含重復項
整體查詢總結
語法:
語句? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 執行順序
select 查詢列表? ? ? ? ? ? ? ? (7)
from 表1 別名? ? ? ? ? ? ? ? ? ?(1)
連接類型 join 表2? ? ? ? ? ? ?(2)
on 連接條件? ? ? ? ? ? ? ? ? ? ?(3)
where 篩選? ? ? ? ? ? ? ? ? ? ? (4)
group by 分組列表? ? ? ? ? ?(5)
having 篩選? ? ? ? ? ? ? ? ? ? ? ?(6)
order by排序列表? ? ? ? ? ? ? ? ?(8)
limit 起始條目索引,條目數分頁(9)
DML語言;
插入:
語法:
inser into 表名(字段名。。。)value(值。。。)
特點:
1、要求值的類型和字段的類型要一致或兼容
2、字段的個數和順序 不一定 和原始表中的字段個數和順序一致,但必須保證值和字段一一對應
3、加入表中可以為null的字段,注意可以通過一下兩種方式插入null值
1、字段和值都省略
2、字段寫上,值使用nul
4、字段和值的個數必須一致
5、字段名可以省略,默認所有列
方式二
insert into 表名 set 字段=值,字段=值。。。
兩種方式的區別:
方式一,支持一次插入多行,語法如下:
insert into 表名【字段名】 value(值),(值,....),。。。
2、方式一支持子查詢,語法如下:
insert into 表名
查詢語句;
修改單表的記錄
語法:
update 表名 set 字段=值,字段=值【where 篩選條件】
修改多表的記錄
語法:update 表1 別名 left|right|inner join 表2 別名
on 連接條件
set 字段=值,字段=值
【where 篩選條件】;
刪除:
方式一:使用delete
1、刪除單表的記錄
語法:
delete from 表名 【where 篩選條件】
2、級聯刪除
語法:delete 別名1,別名2 from表1 別名? inner|left|right join 表2 別名
on 連接條件
【where 篩選條件】【limit 條目】
方式二:使用truncate
語法:truncate table 表名
兩種方式的區別【面試題】:
1、truncate:刪除后,如果再插入,標識列從1開始
delete:刪除后,標識列從斷點開始
2、delete 可以添加篩選條件
truncate不可以添加刪除條件
3、truncate 效率較高
4、truncate沒有返回值
delete 可以返回受影響的行數
5、truncate 不可以回滾
delete可以回滾
DDl
庫的管理:
一、創建庫
create database [if not exists] 庫名【character set 字符集合】;
二、修改庫
alter database 庫名 【character set 字符集】
三、刪除庫
drop database【if exist】庫名
表的管理:
一、創建表:
語法:create table 【if not exists】 表名(
字段名 字段類型 【約束】,
字段名 字段類型 【約束】,
。。。)
二、修改表:
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 表名 rename【to】新表名;
三、刪除表
drop table 【if exists】表名
四、復制表
1、復制表的結構
create table 表名 like 舊表;
2、復制表的結構+數據
create table 表名
select 查詢列表 from 舊表【where 篩選】;
數據類型:
一、數值型
整型
tinyint,smallint、mediumint,int/interger、bigint
特點:
1、均可設置無符號和有符號,默認有符號,通過unsigned設置無符號
2、如果超出范圍,會報out or range 異常,插入臨界值
3、長度可以不指定,默認會有一個長度
長度代表顯示的最大寬度,如果不夠則左邊用0填充,但需要搭配zerof,并且默認變為無符號整型
浮點型
定點數:decimal(M,D)
浮點數:float(M,D),double(M,D)
特點:
1、M代表整數部位+小數部位的個數,D代表小數部位
2、如果超出范圍,則報out or range 異常,并且插入臨界值
3、M和D都可以省略,但對于定點數,M默認為10,D默認為0
4、如果精度要求較高,則優先考慮定點數
二、字符型
char、varchar、binary,varbinary、enum,set,text,blob
char:固定長度的字符 寫法為char(M),最大長度不能超過M,其中M可以省略,默認為1
varchar:可變長度的字符寫法為 varchar(M),最大長度不能超過M,其中M可以省略,
三、日期型
year 年
date 日期
time:時間
datatime:日期+時間
timestamp日期+時間 比較容易受失去,語法模式,版本的影響,更能反應當前時區的真實時間
常見約束:
總結
以上是生活随笔為你收集整理的mysql 插入 删除_mysql插入、修改、删除的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql in or索引失效_in 索
- 下一篇: linux cmake编译源码,linu