常見SQL語句雜談(筆記)

SQL語句(總結,完整的select語句)mysql


select distinct * from 表名 where ...group by ... having ...order by ...
limit start,count 執行順序爲:
from 表名
where ...
group by ...
select distinct *
having ...
order by ...
limit start,count
實際使用中,只是語句中某些部分的組合,而不是所有sql

建立表:數據庫

DROP TABLE if EXISTS students;
CREATE table students(
studentNO int UNSIGNED PRIMARY key auto_increment,
name VARCHAR(20),
sex VARCHAR(1),
hometown VARCHAR(20),
age INT UNSIGNED,
class VARCHAR(20),
card VARCHAR(20)
)CHARSET=utf8緩存

一、子查詢(查詢結果做爲where條件)spa

SELECT AVG(age) from students;
SELECT * FROM students WHERE age > (SELECT AVG(age) from students);命令行

二、自關聯查詢:將一張表分解成兩張表自關聯 (一對多PS:省對應多個市-市對應多個縣...)事務

SELECT * from areas AS p INNER JOIN areas AS c on c.pid = p.aid WHERE = '條件名';rem


命令行客戶端:it

一、進入MYSQL的bin目錄
二、鏈接 mysql mysql -u root -p table

查看全部數據庫:
show databases;

使用數據庫:
use 數據庫名

查看當前使用的數據庫:
select database();

建立數據庫:
create database 數據庫名 charset = utf8;

刪除數據庫
drop database 數據庫名;

數據表中命令的操做:

修改表-添加字段
alter table 表名 add 列名 類型;

查看當前數據庫中全部表
show tables;

查看錶結構
desc 表名;

查看錶的建立語句
show create table 表名;

mysql高級操做: 事務 -- 原子性 、持久性、隔離性、一致性
開啓事務,命令以下:
開始事務後執行修改命令,變動會維護到本地緩存中,而不是維護到物理表中:begin;

提交事務,命令以下:
將緩存中的數據變動成維護到物理表中 commit;

回滾事務,命令以下:
放棄緩存中變動的數據 rollback;

修改數據的命令會觸發事務,包括:insert、update、delete

相關文章
相關標籤/搜索