mysql 基本操作

來源:互聯網
上載者:User

標籤:

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 基本操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.