DDL 操作資料庫 create database db1; //創建資料庫 show databases; //查詢所有的資料庫名稱 create database if not exists db1; //先判斷資料庫db1是否存在 再進行創建 create database 資料庫名 char ...
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:去除重覆