創(chuàng)建數(shù)據(jù)庫(kù):create database xxx;
列出數(shù)據(jù)庫(kù):show databases;
選擇數(shù)據(jù)庫(kù):use xxx;
創(chuàng)建數(shù)據(jù)表:create table xxx(id,state,population);
create table IF NOT EXISTS states (Id not null primary key auto_increment,state char(25),population int(9));
插入數(shù)據(jù):
insert into xxx (id,state,population) values(null,'alabama','4822023');
創(chuàng)建更多記錄:
insert into states(id,state,population) values (null,'xxx','xxx'),(null,'xxx','xxx');
更新表格:
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'
查看表所有的列:
SHOW FULL COLUMNS from person;
在原有表格上添加新的表格:
注意這里創(chuàng)建的新表格將舊表格歸為自己一部分,附在右側(cè)```
在舊表格基礎(chǔ)上新建空表格:
CREATE TABLE `people` ( `peopleid` smallint(6) NOT NULL AUTO_INCREMENT, `firstname` char(50) NOT NULL, `lastname` char(50) NOT NULL, `age` smallint(6) NOT NULL, `townid` smallint(6) NOT NULL, PRIMARY KEY (`peopleid`), UNIQUE KEY `unique_fname_lname`(`firstname`,`lastname`), KEY `fname_lname_age` (`firstname`,`lastname`,`age`) ) ;
刪除表格:
或者是
DROP TABLE IF EXISTS XXX;```
刪除行:
刪除某行
DELETE FROM Person WHERE LastName = 'Wilson'
刪除整個(gè)列表行
DELETE* FROM table_name```
輸出全部:
>```select* FROM database``
設(shè)置AUTO_INCREMENT的起始值
>```ALTER TABLE Persons AUTO_INCREMENT=100```
進(jìn)行高級(jí)命令查詢:
>```SELECT state,population FROM database ORDERBY population DESC;#這里DESC是遞減順序```
返回唯一的的列表:
>```SELECT DISTINCT Company FROM ORDERS```
排序:
>```SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC#Company逆順序排列,OrderNumber升序排列```
限制輸出數(shù)量:
>```SELECT* FROM table_name LIMIT 5```
LIKE指定模式
>```SELECT * FROM Persons WHERE City LIKE '%lon%' 選出包含lon字符的人```
通配符(必須配合著LIKE來(lái)用)
- %替代一個(gè)或多個(gè)字符
- _僅替代一個(gè)字符
- [charlist]字符列中的任何單一字符
- [^charlist]或者[!charlist]不在字符列中的任何單一字符
UNION用來(lái)合并多個(gè)SELECT結(jié)果集:
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
注意,UNION ALL會(huì)返回所有值,可能重復(fù)
SELECT INTO可以復(fù)制數(shù)據(jù)
SELECT LastName,Firstname
INTO Persons_backup
FROM Persons
WHERE City='Beijing'
這里順便是select - into - from
isnull()函數(shù)返回默認(rèn)值
SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
FROM Products
判斷空與非空is null/is not null
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL
基本運(yùn)算符:
=等于
<>不等于#有些sql可以寫(xiě)成!=
BETWEEM在某個(gè)范圍內(nèi)
LINK搜索某種模式
使用WHERE語(yǔ)句
>```SELECT * FROM Persons WHERE City='Beijing'```
CASE WHEN語(yǔ)句
having sum(case when b.score>=60 then 0 else 1 end)>=2
Constraints約束:
NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
CHECK
DEFAULT
CHECK限制范圍
ALTER TABLE Persons
ADD CHECK (Id_P>0)
DEFAULT添加默認(rèn)值
CREATE TABLE Persons
(
City varchar(255) DEFAULT 'Sandnes'
)
另外添加或者刪除
ALTER TABLE Persons
ALTER City SET DEFAULT 'SANDNES' /// DROP DEFAULT
Create index添加索引
理想的做法是僅僅在常常被搜索的列(以及表)上面創(chuàng)建索引。
CREATE INDEX PersonIndex
ON Person (LastName, FirstName)
刪除
ALTER TABLE table_name DROP INDEX index_name
內(nèi)建常用函數(shù)
http://www.jb51.net/article/40179.htm
以下是常用的數(shù)據(jù)類型:
- CHAR(length)固定長(zhǎng)度字符串
- VARCHAR(length) 可變長(zhǎng)度字符串
- TEXT 最大長(zhǎng)度64KB的可變字符串
- DECIMAL(length,dec) 浮點(diǎn)數(shù),前面是是位數(shù),后面是小數(shù)位。
- DATE時(shí)期值,年月日
- TIME時(shí)間值,時(shí)分秒
- RNUM('value1','value2'.....)枚舉法列表```