關系型:以行作為記錄,列數相同
非關系型:以列作為記錄,行數隨便
1、登錄
服務器->資料庫->表(行列組成的二維表格)->行
client操作服務器通過命令登錄操作:mysql -u用戶名(默認root) -p密碼
2、SQL陳述句:每個命令執行結束加分號結束
查詢所有資料庫:show databases;
切換資料庫:use 庫命名;
創建資料庫:create database [IF NOT EXISTS] 庫名;
洗掉資料庫:drop database [IF EXISTS] 庫名;
查詢資料庫創建:show 建庫陳述句; (show create database shujia)
指定資料庫采用的字符集:CHARACTER SET
注意:不要修改mysql服務器的編碼集,表的編碼集默認和庫一致
查看當前使用的資料庫
select database();
3、建表
格式:
create table [if not exists] 表名(
欄位1 資料型別 欄位屬性,
欄位2 資料型別 欄位屬性,
...
欄位N 資料型別 欄位屬性
)engine=引擎 default charset=編碼集;
查看當前資料庫:select database();
查看建表陳述句:show create table 表名;
查看表結構:desc 表名;
洗掉:drop table [if exists] 表名;
欄位屬性:
not null:沒給值資料為默認值(varchar默認值為空)
AUTO_INCREMENT定義列為自增的屬性,一般用于主鍵,數值會自動加1
PRIMARY KEY關鍵字用于定義列為主鍵,您可以使用多列來定義主鍵,列間以逗號分隔
ENGINE 設定存盤引擎,CHARSET 設定編碼
default null:沒給值資料就是null
default 值:設定欄位的默認值
注意:主鍵不重復的列
4、修改表結構:alter table
修改表名:alter table 舊表名 to 新表名;
添加欄位:alter table 表名 add 欄位 欄位資料型別 屬性;
洗掉欄位:alter table 表名 drop 欄位;
修改欄位:alter table 表名 change 舊欄位 新欄位 資料型別 屬性;
修改欄位:alter table 表名 modify 欄位 資料型別 屬性;
注意:
change:修改所有(欄位名,資料型別,屬性)
modify:修改一部分(資料型別,屬性)
修改資料型別時,varchar->int元資料會變為0
5、增刪改查:字串全部使用 ’ ’ 單引號包起來
增加
格式:
insert into 表名(欄位) values(值),(值)...(值);
insert into 表明 set 欄位=值,,
例如:
insert into stduent(name) values('zs');
insert into stduent(name) values('zs'),('ls');
洗掉
格式:
delete from 表名 where 子句;
修改
格式:
update 表名 set 欄位1=值1,欄位2=值2...欄位N=值N where 子句;
查詢
格式:
select 欄位 from 表名 where 子句;
注意:
*表示所有欄位
6、as起別名
格式:
欄位 as 名稱
注意:
as 也加可不加
子句:
> < <= >= = <> 大于、小于、大于(小于)等于、不等于
between …and… 顯示在某一區間的值(含頭含尾)
in(set) 顯示在in串列中的值,例:in(100,200)只能匹配100或200
like ‘張_’ 模糊查詢 使用% 和 _(%表示匹配所有 _匹配一個)
Is null 判斷是否為空 <=>安全等于 判斷是否等于
and 多個條件同時成立
or 多個條件任一成立
not 不成立,例:where not(expection>10000);
7、limit分頁
格式:
陳述句 limit 開始下標,長度;
注意:
如果資料量不夠,顯示全部
例如:從下標為0開始顯示10條
select * from stduents limit 0,10;
8、去重
格式:
DISTINCT 欄位1,欄位2...欄位N
注意:
欄位不能在DISTINCT之前,只能在DISTINCT后面
DISTINCT之后有多個欄位,按照所有欄位進行去重
SELECT DISTINCT work from students;
9、聚合函式
count(欄位):求多少行資料
sum(欄位):求和
avg(欄位):平均數
max(欄位):最大值
min(欄位):最小值
mod(數字,數字) 取余
length(varchar) 求占用的位元組長度
SELECT COUNT(gender) from students;
注意:
varchar能比較大小,不能獲取avg(沒有任何意義)
如果值為Null不參與計算
sum和avg欄位的資料不是數值,結果都是0
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/298628.html
標籤:其他
