1. 程式人生 > >Sql-基礎知識

Sql-基礎知識

order creat esc ins 自動 into 類型 屬性 年齡

-- 數據庫(database):存儲數據的倉庫,
-- 數據庫(database)
--數據表(table)
--列名(字段-field)
--數據(值-value)
--創建表
--(在sqlite數據庫中創建表的時候定義數據類型的起不來限制數據類型的作用的
--因為sqlite的數據的數據類型數弱類型,它會根據用戶輸入的數據進行自動的識別並添加
--到數據庫表中,和大多數數據庫一樣,sqlite 是大小寫不敏感的)

-- sqlite 數據庫中的五類數據類型:1、整數-integer 2、浮點數(小數)-real
-- 3、文本-text 4、二進制文件(圖片、聲音為典型代表)-blob 5、空類型-null
--
--
--CREATE TABLE 表名稱
--(
--列名稱1 數據類型,
--列名稱2 數據類型,
--列名稱3 數據類型,
--....
--)
-- 字段與字段直接用“,”號隔開,字段的一些屬性用空格“ ”隔開,最後一個字段不要有“,”
-------------------------------------------------------------------------------------------------
--增加表(創建表,表名為:person)
create table person(
id integer not null,
name text, --名字.
age integer, --年齡.
height real --身高.
)
--------------------------------------------------------------------------------------------------

-- 刪除表
drop table person
--------------------------------------------------------------------------------------------------

--對數據庫的操作無非就是CRUD
-- C:增加(增)-Create
-- D:刪除(刪)-Delete
-- R:讀取(查)-Retrieve
-- U:更新(改)-Update
--------------------------------------------------------------------------------------------------

--查:獲取表中全部數據
select * from person
---------------------------------------------------------------------------------------------------

--增:添加數據--"文本類"型要用雙引號("")或者單引號(‘‘)括起來
--insert into 表 values (值1, 值2, 值3...)
-- 或者指定添加內容
-- insert into 表(字段1, 字段2, ...) values (值1, 值2, 值3...)
-- 註意:如果字段類型定義為數值型,如果插入了文本型,雖然不會報錯,但是無法插入,顯示的值可能為0

insert into person values(20150102, ‘老王‘, 68,170.3)
insert into person(id, name) values (20150101, ‘張三‘)
----------------------------------------------------------------------------------------------------

--刪:刪除數據(不能刪除某個數據)
--格式:delete from 表 where 。。。
--像MySQL還可以:delete * from 表 where 。。。(比sqlite多了個“*”)
-- 進行刪除操作要謹慎,記得加上條件+加上條件+加上條件。否則會將整張表的數據刪除

delete from person where id=20150102
----------------------------------------------------------------------------------------------------

-- 改:修改數據
-- update 表 set 列名稱 = 新值 , 列名稱=新值 。。。 where 列名稱 = 某值
-- 記得修改的條件,如果你想修改這個表中改字段(列名稱)的所有值為相同的話可以不加條件

update person set name=‘小王‘, age=8 where id=20150102
-----------------------------------------------------------------------------------------------------

-- 查:查詢數據(重點+難點)
-- 格式 select * from 表
-- 查詢所有數據

select * from person
--------------------------------------------------------------------------------------------------------

-- 使結果中不出現重復數據(例如id)
select distinct id from person --distinct 不同的,獨特的.
--------------------------------------------------------------------------------------------------------

-- 模糊查詢:%:所有字符;_單個字符
select * from person where name like‘老_‘ --like 搜索指定模式. --wehere 從哪選擇.
--------------------------------------------------------------------------------------------------------

-- 排序:降序:order by 字段 desc降序, ASC升序:order by 字段 desc
select * from person order by age desc --order by 順序
--------------------------------------------------------------------------------------------------------

-- 統計 :總數 count(*);最大值max(字段);最小值min(字段);avg平均值(字段)
select max(age) from person
--------------------------------------------------------------------------------------------------------

-- 選擇前幾項:limit 開始, 數量;不要加括號,開始下標從0開始,一般都是放在語句的最後面,也有用 top 數值 的
-- eg:獲取前三條
select * from person limit 0,3 --limit 為限制. --eg 如.
--------------------------------------------------------------------------------------------------------

-- 分組 : group by 字段
-- eg: 統計不同id 的人數;相同字段的分為一組
select count(*) from person group by id --group by 分組依據.
--------------------------------------------------------------------------------------------------------

-- 比較 >, <, =, !=
select * from person where id=2015102
--------------------------------------------------------------------------------------------------------

-- 在..之間 :between 值1 and 值2,介於兩個值之間的數據範圍。這些值可以是數值、文本或者日期
select * from person where id between 201501 and 20151110 --between 在 ... 之間
--------------------------------------------------------------------------------------------------------

-- 包含 : 字段 in(值1,值2。。)
select * from person where id in(1001,1002,1003,20150101) --in 在裏面
--------------------------------------------------------------------------------------------------------

--2018/04/12  由:zkcops 撰寫(希望能對你有所幫助,轉載註明出處!)

--------------------------------------------------------------------------------------------------------

Sql-基礎知識