mysql 数据操作,MySQL-数据操作
數據操作:
1、insert:
格式1? insert into 表名(字段1,字段2,..)? values(值1,值2,…) 向指定列插入值
格式2? insert into 表名? values(值1,值2,…)? 向表中所有列插入值
注意:字段個數與值的個數及類型必須匹配。
1) 插入值 類型必須和 列類型匹配
2) 值長度不能超過 列定義長度
3) 值的順序和 列順序對應
4) 字符串和日期型值 必須寫 引號
5) 插入空值 可以寫 null
2、delete:
delete是用于刪除表中的記錄的。
格式?? delete from 表名.
上述操作是將表中所有記錄刪除,如果要刪除指定的記錄需要使用where.
Delete from 表名? where 條件。
Delete 與drop 及truncate有什么區別
Drop table?? drop database? 它是用于刪除表或數據庫。
Delete與truncate它們是用于刪除記錄的。
Delete from表名、Truncate table 表名:它們都是將表中數據全部刪除。
區別是:
delete是一行一行刪除記錄。
Truncate是將表結構銷毀,在重新創建表結構。
Delete刪除是受事務控制的,而truncate是不受事務控制。
3、update:
用于修改表中的數據
格式? update 表名? set 字段名稱=值 ,字段名稱=值;
以上修改是對表中字段進行全部修改。在開發中一般是條件修改。
update 表名? set 字段名稱=值 ,字段名稱=值 where 條件.
select:
select操作是用于查詢記錄
格式1.? select * from 表名 查詢表中所有字段的值
格式2:select 字段1,字段2,.. from 表名? 查詢表中指定字段的值。
格式3 select distinct 字段1,字段2,。。。表名 查詢出不重復的數據。
注意:distinct是用于去除重復。
格式4 表中的字段可以直接執行運算
求出三個人每一個人的三科總成績
select name, chinese+math+english from exam;
格式5 可以給列或表起別名
select name as 姓名, (chinese+math+English) as 三科成績from exam;
在列名或表名后使用?? as? 別名
select name 姓名, (chinese+math+English) 三科成績 from exam 考試成績表;
Select語句的書寫順序:
Select * from 表 where 條件? group by 字段 having 條件下 order by .字段。
Select語句的解析順序:
from? - where -? group by - having –select-? order by
where子句:
1.??? 關系運算符? > < >= <=? =? !=(<>)
2.??? 邏輯運算符?? and?? or? not
3.??? between and
select * from exam where chinese between 60 and 90;
4.??? in操作
select * from exam where math in(65,75)
5.??? is null?? is not null
注意:null值不可以使用=比較。
6.like操作?? 模糊查詢
在模糊查詢時可以使用兩種通配符? %? _
%通配所有
_ 它就通配一個字符
order by:
Order by 字段? asc/desc ,字段 asc/desc;
默認是asc 升序??? desc 就是降序
注意:order by子句永遠是select 語句中的最后一個。
聚合函數:
1.??? count 它是用于統計某一列有幾行。 注意:如果某一行的值為null,不統計;在開發中經常使用的一種方式?? select count(*) from 表;
2.??? sum?? 它是用于統計某一列的和;注意:如果列值中有null,sum可以對其做為0處理.
3.??? avg?? 它是用于求平均值的。
4.??? max min? 求出某一列中最大值,最小值
group by:
group by 后面可以使用having進行條件的過濾。使用having必須使用group by。
1.??? having是在分組后進行過濾,where是在分組前進行過濾。
2.??? having后面可以使用分組函數,而where后面不可以使用分組函數。
可以使用having來替換where。注意只能在分組操作中,因為having必須在group by 后出現。
關于null做運算問題:
在mysql中如果nul與任意值做運算,結果都是null.
在開發中,我們對null做運算時,可能會將其做為0處理,怎樣辦?
在mysql中提供一個函數叫ifnull
select ifull(english,0) from exam;
總結
以上是生活随笔為你收集整理的mysql 数据操作,MySQL-数据操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 保存到redis的字符串类型出现斜杆_深
- 下一篇: java追加字符串到文件_java 将字