mysql update 多个字段_MySql-笔记
生活随笔
收集整理的這篇文章主要介紹了
mysql update 多个字段_MySql-笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
什么是數據庫?
- 用于存儲和管理數據的倉庫
數據庫特點:
- 持久化存儲數據。其實就是一個文件系統
- 方便存儲和管理數據
- 使用統一的方式操作數據庫
mysql登錄/出
- 登陸 mysql -u用戶名 -p密碼
- 退出 exit
- 連接遠程服務器 mysql --host=ip -u用戶名 -p密碼
- mysql安裝時安裝的是沒有界面的服務
- services.msc打開服務窗口
- 關閉mysql服務 net stop mysql
- 啟動mysql服務 net start mysql
mysql卸載
- 在C:Program FilesMySQLMySQL Server 5.5my.ini文件中復制數據庫的路徑datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
- 使用控制面板卸載軟件
- 刪除datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"文件夾
sql通用語法
- 以分號結尾,不區分大小寫,關鍵字建議使用大寫
- 單行注釋:兩個橫杠一個空格(-- )
- 多行注釋 /* */
DDL(data definition language):操作數據庫,表
- 操作數據庫:CRUD
- c(create):創建
- R(retrieve):查詢
- u(update):修改
- d(delete):刪除
操作數據庫
- 查詢系統有哪些數據庫:show database;
- 查詢某數據庫的創建語句:show create database 數據庫名稱;
- 創建數據庫:create database 名稱 character set gbk;
- 數據庫不存在時創建:create database if not exists 名稱;
- 修改數據庫編碼:alter database 名稱 character set utf8;
- 刪除數據庫:drop database if exists 名稱;
- 查詢正在使用的數據庫:select database();
- 使用數據庫:use 名稱;
操作表
- 查詢所有表的名稱:show tables;
- 查詢表結構:desc 表名 ;
創建表
create table 表名(
列1 數據類型 primary key auto_increment,
列2 數據類型 not null,
列3 數據類型 unique);
創建和指定表一樣的表
- create table 新名稱 like 舊名稱;
刪除表
- drop table if exists 表名;
修改表
- 修改表名 alter table 表名 rename to 新的表名;
- 修改表字符集 alter table 表名 character set 字符集名稱;
- 添加一列 alter table 表名 add 列名 數據類型;
- 修改列名和類型 alter table 表名 change 原列名 新列名 新數據類型;
- 修改數據類型 alter table 表名 modify 列名 新數據類型;
- 刪除列 alter table 表名 drop 列名;
增刪改
- 插入 insert into 表名(類名...)values(值...);
- 除了數值,其他類型要用引號
- 刪除 delete from 表名 [where 條件]
- 刪除表然后在創建一模一樣的空表 truncate table 表名;
- 修改表中數據 update 表名 set 列1=值1,列2=值2,【where 條件】;
查詢
- select
- 字段列表
- from
- 表名列表
- where
- 條件列表
- group by
- 分組字段
- having
- 分組之后的條件
- order by
- 排序
- limit
- 分頁限定
去除重復的查詢結果
- select distinct 列名 from表名
列加和
- select 列1,列2,列3,列2+ifnull(列3,0) from表名
條件查詢
模糊查詢
- _ 單個任意字符
- % 多個任意字符
- select * from 表名 where 列名 like '_化%';
- 列名 like '_化%'; 第一位任意第二位為化后面的任意
- 列名 like '___'; 包含三個字符
列名 like '%馬%'; 包含馬
排序
- order by 字段1 排序方式1,字段2 排序方式2;
- 默認升序asc 降序:desc
- 如果有多個排序條件,只有前面字段相等時才使用第二個條件
聚合函數
- 聚合函數:將一列數據作為一個整體,進行縱向計算
- 聚合函數的計算會排除null值。
- count: 計算個數
- max: 計算最大值
- min: 計算最小值
- sum: 求和
- avg(列名): 平均值
- count(ifnull(列名,賦予的新值) 解決null
- count(*)*表示只要有該行有一個不為空,就算一個 算上null
分組查詢
- 將具有相同特征的元素作為一組,統計每組的信息。
- 分組之后,select后面的字段:分組字段,或者聚合函數
- 按性別分組,查詢男女同學的數學平均分和人數
- select sex, count(id),count(數學)from stu group by sex
where和having的區別
- where在分組之前進行限定,如果不滿足條件則不參與分組。having在分組之后進行限定,如果不滿足結果則不會被查詢出來
- where后不可以跟聚合函數進行判斷,having可以跟聚合函數進行判斷
約束
- 添加非空約束 alter table 表名 modify 列名 數據類型 not null;
- 刪除非空約束 alter table 表名 modify 列名 數據類型;
- 添加唯一約束 alter table 表名 modify 列名 數據類型 unique;
- 刪除唯一約束 alter table 表名 drop index 列名;
- 刪除主鍵 alter table 表名 drop primary key;
- 刪除主鍵 alter table 表名 modify 列名 數據類型 primary key;
- 刪除自動增長 alter table 表名 modify 列名 數據類型;
- 添加自動增長 alter table 表名 modify 列名 數據類型 auto_increment;
添加外鍵約束
- constraint 外鍵名稱 foreigh key (列名) references 表名(id名)
- 刪除外鍵 alter table 表名 dorp foreign key 外鍵名;
- 添加外鍵 alter table 表名 add constraint 外鍵名稱 foreigh key (列名) references 表名(id名)
級聯操作 參考的鍵發生更新時,外鍵也更新
- 為外鍵添加級聯更新 alter table 表名 add constraint 外鍵名稱 foreigh key (列名) references 表名(id名) on update cascade;
- 級聯更新 on update cascade;
- 級聯刪除 on update cascade;
一對多的關系
- 在多的一方建立外鍵指向一的一方得主鍵
多對多關系
- 多對多需要借助第三張表,第三張表至少包含兩個字段,這兩個字段作為第三張表的外鍵,分別指向前兩張表的主鍵
三大范式
三大范式1NF之后的表2NF之后的表3NF之后的表數據庫的備份和還原
- 備份:mysqldump -u用戶名 -p密碼 數據庫名稱 > 保存的路徑
- 還原
- create database 數據庫名;
- use 數據庫名;
- source 備份的文件名;
左外連接
- select 字段列表 from 表1 left[outer] join 表2 on 條件;
- 查詢的是左表所有數據及其交集部分
右外連接
- select 字段 列表 from 表1 right[outer] join 表2 on 條件;
- 查詢的是右表所有數據及其交集部分
事物
總結
以上是生活随笔為你收集整理的mysql update 多个字段_MySql-笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基围虾属于什么业?
- 下一篇: .net函数查询_数据分析-SQL-复杂