標籤:
mySQL
=============================================
DML;
SELECT - 從資料庫中提取資料
UPDATE - 更新資料庫中的資料
DELETE - 從資料庫中刪除資料
INSERT INTO - 向資料庫中插入新資料
DDL;
CREATE DATABASE - 建立新資料庫
ALTER DATABASE - 修改資料庫
CREATE TABLE - 建立新表
ALTER TABLE - 變更(改變)資料庫表
DROP TABLE - 刪除表
CREATE INDEX - 建立索引(搜尋鍵)
DROP INDEX - 刪除索引
操作符select
----------------------------------
select * from table_name -全表掃描
distinct -去掉重複項 select distinct * from table_name
where子句
where -有條件選擇 select * from table_name where column_name=‘xx‘
and -且得關係(交集),串連條件 select * from table_name where column_name1=‘xx‘ and column_name2=‘xx1‘
or -或的關係(並集) select * from table_name where column_name1=‘xx‘ or column_name2=‘xx1‘
order by asc(可以不寫) -對結果集排序。預設順序排序。select * from table_name order by column_name
order by desc -對結果集排序。逆序排序。select * from table_name order by column_name desc
like -模式比對(%定義萬用字元)。select * from table_name where column_name like‘aa%‘;
in -允許where子句中有多個值。select * from table_name where column_name in(value1,value2,...);
between and -,擷取閉區間資料(not表示補集),where子句中使用,select * from table_name where column_name between ‘value1‘ and ‘value2‘
別名
select * from table_name as newName - 使用表別名(oracle不需要as)
select column_name as newName from table_name as -使用列別名
join多表關聯:
join(inner join) -內串連,返回兩個表都有的,並集 。
select * from table_name1 inner join table_name2 on table_name1.column_name=table_name2.column_name;
left join -左串連,返回兩個表都有的,還有左表有右表沒有的,
right join -右串連,返回兩個表都有的,還有右表有左表沒有的,
full join -全串連,只要其中一個表有即可。
獨立集(只是a專屬的部分) SELECT * FROM a left outer JOIN b ON a.id=b.id WHERE (b.id IS null)
操作符insert into和update和delete
----------------------------------
insert into table_name(column_name1) values(column_name1) -插入選擇欄位
insert into table_name() values(column_name1) -插入全表
update table_name set column_name=‘新值‘ where column_name=‘定位值‘ -更新資料
delete from table_name where column_name=‘xx‘ -刪除資料
操作符union
----------------------------------
union 合并兩個或多個sql語句的結果集。不允許重複的值出現。
union all ,允許重複的值出現。
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
操作符select into
----------------------------------
select into 建立表的備份附件(oracle不能用)
select * into new_tableName from old_tableName
SELECT *
INTO Persons IN ‘Backup.mdb‘
FROM Persons
oracle可以用:create table new_tableName as (select * from old_tableName)
操作符create table
----------------------------------
資料類型:
char(10) 定長,查詢快,浪費空間 最大2000字元
varchar2(20) 變長,查詢慢,節省空間的 最大4000
number
number(5,2)五位元,2位有效小數
number(5) 五位整數
date 時間類型(日-月-年)(01-5月-05)
timestamp 時間類型比date精確
blob 二進位類型 圖片聲音
約束:
not null -非空約束,not null
unique -唯一約束,unique,CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
primark key -主鍵約束 ,primark key CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
forein key -外鍵 ,Id_P int FOREIGN KEY REFERENCES Persons(Id_P)
check -檢查約束 ,check (id>0)
default -預設約束 ,default ‘xx’
AUTO_INCREMENT -自動建立主鍵欄位的值
操作符create index
----------------------------------
create index index_name on table_name (column_name)
CREATE INDEX PersonIndex ON Person (LastName DESC) --降序索引
drop index index_name
操作符create view
----------------------------------
create view view_name as SELECT column_name(s) FROM table_name WHERE condition
drop view view_name
操作符create database
----------------------------------
create database db_name
操作符drop
----------------------------------
delete table table_name -刪除資料,可以復原
truncate table table_name -清空資料(不可以復原),不刪除表結構
drop table table_name -刪除資料表(刪除內容和定義,釋放空間。)
drop index index_name -刪除索引
drop view view _name -刪除視圖
drop database db_name -刪除資料庫
操作符alter
----------------------------------
alter table table_name add column_name datatype -添加欄位
alter table table_name drop column column_name -刪除欄位
alter table MYRESULTTABLE_201411170930 rename to MYRESULTTABLE;--修改表名
操作符case
----------------------------------
select case column_name
when ‘x1‘ then ‘y1‘
when ‘x2‘ then ‘y2‘
else ‘y3‘ end
函數
----------------------------------
avg() -平均值 select avg(column_name) from table_name
count(column_name) -返回行數(null排除)
count(distinct column_name) -返回行數(重複項和null排除)
max() -返回列最大值
min() -返回列最小值
sum() - 返回數值列的總和
sum(distinct) - 返回數值列的總和(去重)
group by -按照指定列分組,select id ,avg(column_name) from table_name group by id
mysql 基本操作