日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql update 多个字段_MySql-笔记

發布時間:2024/9/27 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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-笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。