DDL 操作資料庫
create database db1; //創建資料庫
show databases; //查詢所有的資料庫名稱
create database if not exists db1; //先判斷資料庫db1是否存在 再進行創建
create database 資料庫名 character set 字符集名稱; //創建資料庫,并指定字符集
alter database 資料庫名 character set 字符集名; //修改資料庫字符集
drop database 資料庫名; //輸出資料庫
use 資料庫名; //使用(進入)資料庫
DDL 操作表結構
show tables; //查詢某資料庫中的所有表名稱
desc 表名; //查詢表結構(列名)
drop table 表名; //洗掉表
creat table 表名(列名1 資料型別1,...,列名n 資料型別n); //創建表
資料型別
int : 整數
double() : 小數
date : 日期(年月日)
datetime :日期(年月日時分秒)
varchar() :字串(必須指定長度)
create table 表名 like 被復制的表名; //復制表
alter table 表名 rename to 新的表名; //修改表名
alter table 表名 character set 字符集名; //修改表的字符集
alter table 表名 add 列名 資料型別; //添加一列
alter table 表名 change 列名 新的列名 新的資料型別; //修改列名以及資料型別
alter table 表名 modify 列名 新的資料型別; //修改資料型別
alter table 表名 drop 列名; //洗掉列
DML 對表中的資料增刪改
insert into 表名(列名1,,.....,列名n) values(值1,......,值n); //向表中添加資料(列名要和值對應;如果表名后不定義列名,則默認給所有的列添加值)
delete from 表名 where 條件; //根據條件洗掉表中資料,如果不加條件則洗掉表中所有的資料
update 表名 set 列名1=值1,......,列名n=值n where 條件; //根據條件改變表中的某一些資料(如果不加條件會將整列資料修改)
DQL 對表中資料的查詢操作
select * from 表名; //查詢表中的所有欄位資訊
select 列名1,......列名n from 表名; //查詢表中某幾個欄位的資訊
模糊查詢:
select * from test where name like '%XXX%';
排序查詢:
order by 排序列名1 排序方式,......,排序列名n 排序方式; //根據排序的規則和欄位進行排序(排序方式:asc :升序(可省略) desc :降序)
聚合函式: (縱向的計算,排除 null 值的計算)
count : 計算個數
max : 計算最大值
min : 計算最小值
sum : 計算和
avg : 計算平均數
語法: select 聚合函式(列名) from 表名;
分組查詢:
語法: group by 分組欄位
where判斷放在分組的前面,若不滿足則不參與分組
having判斷放在分組的后面,若不滿足則不會查詢到
where后不可以跟聚合函式,having后面可以判斷聚合函式
分頁查詢(mysql 特有的語言)
語法:limit 開始索引 每頁的條數 (若開始索引為0,可以省略)
公式: 開始索引=(當前的頁碼-1)*每頁的顯示條數
查詢的整體順序
select distinct ... from ... where ... group by ... having ... order by ... limit ...
distinct:去除重復
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/64464.html
標籤:MySQL
上一篇:InnoDB基礎
