一、資料庫表的操作:
1. 建立資料庫表
建立資料庫:create table 表名(
_id integer primary key autoincrement,//主鍵id自增長
name varchar(),
age integer(),
birthday datetime //最後一行不用寫 逗号(,)
);
2. 修改字段名
遇到建立表的時候字段寫錯了,需要修改字段名稱:
alter table 表名 change 舊的字段名 新的字段名 colType;
例子: alter table person change age sex varchar();
将person表中年齡的字段改為性别的
3. 修改字段類型
如果主鍵本來是int,現在要改成varchar類型:
方法一:alter table tableName change colName colName colType[(size)];
例子: alter table person change age age varchar();
方法二:alter table tableName modify colName colType[(size)];
例子: alter table person modify age varchar();
4. 添加新字段
如果實體對象有新屬性了,需要添加表字段:
alter table tableName add newColName colType[(size)];
例子: alter table person add sex varchar();
添加了性别字段
5. 删除字段
如果字段屬性不需要了,應該删除掉:
alter table tableName drop colName;
例子: alter table person drop sex;
删除性别字段
二、資料庫的操作(更适用于背景開發)
1. 插入資料
向資料表中添加新資料,使用關鍵字:insert
方式一:insert into 表名 values("001","zhangsan","23");
例子: insert into person values ("001","張三","23");
添加了一條資料id為001,姓名張三,年齡23
方式二:insert into 表名(name,age) values("lisi","24");
例子: insert into person(name,age) values("李四","24");
2. 修改資料
對已經存在于資料表中的資料進行修改操作,使用關鍵字:update
update 表名 set colName1=newValue1,colName2=newValue2... where 條件
例子:update person set name="張三",age="23" where name="李四"
3. 删除資料
對于資料表中廢棄沒有用的資料需要清理删除,使用關鍵字:delete
delete from 表名 where 條件;
例子: delete from person where name="張三";
删除name為張三的資料,沒有where表示删除所有資料
4.查詢資料
查詢是使用會最頻繁的操作,使用關鍵字:select
select * from 表名 where 條件;
select 字段清單 from 表名 where 條件;
例子: select * from person;
查詢表中所有資料
1). < > <= >= <> 類型
分别表示小于 大于 小于等于 大于等于 不等于
select * from person where age>;
查詢person表中年齡大于23的
2). 在一組資料中 in
select * from person where age in (,,);
查詢年齡在22,33,55的所有資料
3). 條件并列 and
select * from person where age> and id in ('2222','3333','4444');
查詢年齡大于33 并且 id在2222,3333,4444中的所有資料
4). 在兩者之間 between … and …
select * from person where age between '23' and '33';
查找age在 23 和 33之間的所有資訊
5). 模糊查詢:like 配合 %使用,%代表位置的字元串部分
select * from person where name like '%張%';
查詢name包含 張 的資料
select * from person where name like '張%';
查詢name 以 張開頭 的資料
6). 查詢補充:如果想查詢字段為null的 或者 字段不為null的怎麼判斷?
查詢為null的:
select * from person where age is null;
select * from person where isnull (age);
查詢不為null的:
select * from person where age <> "null";
select * from person where age is not null;
5. 排序、 聚集函數、分組
1). 排序
對查詢的結果根據某一列進行排序,順序、倒序,使用關鍵字 order by desc/asc
select * from 表名 order by 字段 asc/desc;
例子: select * from person order by age desc;
根據年齡倒序排列
select * from person where age> order by age desc;
加上where條件, 年齡大于22的倒序排列
注意order by 應該放查詢語句最後
2). 聚集函數 這些函數是sql給我們提供好的函數,用于各種運算
(1). count():統計記錄數,count(*)表的總記錄數,count(字段)對應字段不為NULL的記錄數
select count(*) from person;
person表中的總數
select count(age) from person;
person表中age不為null的總數
(2). sum():求和函數統計列數值的總和
select sum(age) from person;
person表中age的總和
select sum(age)/count(*) from person;
使用count()和sum()計算平均年齡: person表中平均年齡
(3). avg():計算平均數
select avg(age) from person;
person表中平均年齡
(4). max()最大值、 min()最小值
select max(age) from person;
最大年齡
select min(age) from person;
最小年齡
3). 分組操作 将同一類型的資料分成一組檢視,使用關鍵字 group by
(1). 将按照age年齡分組,
select age, count(*) from person group by age;
檢視每個年齡有多少人
(2). 如果在分組時需要聚集函數 作為查詢條件,就不能使用where 子句了,前面有示範,需要使用 having關鍵字來代替
select sum(age) from person having sum(age)>;
年齡大于20的人年齡總和為
4). 分頁查詢 limit
如果想查詢某幾條連續的資料,從第幾條開始,查詢多少條,使用關鍵字:limit
select * from 表名 limit 記錄數
例子: select * from person limit ;
查詢前3條記錄
select * from 表名 limit 開始位置,記錄數
例子: select * from person limit ,;
查詢 limit 1,3 : 說明記錄是從1開始計算的,3的位置結束
以上是對資料庫和資料庫表的一些指令操作,有錯誤還望指正!