mysql數據庫常用操作

?

?

目前最流行的數據庫:

oracle、mysql、sqlserver、db2、sqline

--:單行注釋

#:也是單行注釋

/* 注釋內容*/:多行注釋

mysql -uroot -p密碼:登錄mysql

service mysqld restart
重啟mysql

/etc/my.cnf
mysql的配置文件

/var/lib/mysql
mysql數據庫的數據庫文件存放位置

/var/log
mysql的數據庫的日志輸出存放位置

create database 庫名 default character set =utf8;:創建數據庫

show databases:查看所有數據庫

drop database 數據庫名:刪除數據

備份的語法一:
Mysqldump –uroot –p 要備份哪個數據庫 > 備份到哪去的路徑;

備份語法二:
Mysqldump –uroot –p - -database 要備份哪個數據庫 > 備份到哪去的路徑;

source+sql文件:恢復數據庫

use 數據庫名稱:使用業務數據庫

show tables:查看業務數據庫下有多少張表格

desc 表名:描述表結構

建表語法:
create table 表名字 (列名 數據類型,l列名2 數據類型,…,列名n 數據類型)Engine=INNODB charset=utf8;

表創建好過后添加一列或者多列:
ALTER TABLE 表名 ADD (列名 數據類型,…,列名n 數據類型);

換列名語法:
Alter table 表名 change column 原有的列名 新的列名 對應的數據類型

刪除列:
alter table 表名 drop column 要刪除的列

給列添加注釋:
Alter table 表名 modify column 列名 對應數據類型 comment ‘你要注釋的內容’

添加數據語法:
insert into 表名(列1,列2...列n) values(值1,值2,...值n)

一次增加多條數據:
Insert into 表名(列1,列2,..,列n) values (值1,值2,…..,值n), (值1,值2,…..,值n)

修改數據:
update 表名 set 列名=值 where 條件

Update 可以一次修改多列:
Update 表名 set 列1=值1,列2=值2 where 條件

刪除數據:
delete from 表名 where 條件

刪除整張表的數據:
truncate table 表名

刪除數據庫:
drop

添加默認值:
create table 表名(列名稱 數據類型 default 默認值)

添加非空約束的語法:
alter table 表名modify column 列名 對應的數據類型 not null;

給表添加主鍵約束:
Alter table表名 add constraint primary key PK_表名_需要添加約束的列名 (要添加約束的列)

給表添加外鍵約束:
alter table 表名add constraint foreign key fk_表名 _列名 (需要添加約束的列)references 引用的表 (引用的是哪一列)

Select * from 表名: 查詢這張表里面的所有數據

Select 列名1,…,列名n from 表名:多列查詢

select 列名 from 表名:單列查詢

Select 列名1 as 別名1,列名n as 別名n from 表名:查詢的時候命名別名

Select distinct(需要去除重復的列) from 表名:去重查詢(只能是單列去除重復)

select * from 表名 where 條件:帶條件查詢

?

SQL一共由四個部分組成:

DQL 數據查詢語言 select

DML 數據操作語言 insert,update,delete

DDL 數據定義語言 create,drop,alter

DCL 數據控制語言 grant,revoke,commit,rollback


Between and : 在……之間

Select * from 表名 where 列名 in (范圍):在范圍內取值

Select * from 表名 where 列名 is null:判斷該列是否有空值

Select * from 表名 where 列名 is not null:判斷該列是否有非空的值;

select * from 表名 where 列名 like ‘_或者%值’:模糊查詢
_只匹配一個字符
%匹配任意個字符

數據庫里面的排序order by
Order by后面可以跟上兩個單詞 ASC DESC
語法:select * from 表名 order by 要排序的列;

select * from 表名 limit m,n:從m行開始 取n行顯示

表連接語法:
內鏈接語法:Select * from 表1 join 表2 on 主鍵=外鍵
左外鏈接語法:Select * from 表1 left join 表2 on 主鍵=外鍵
右外鏈接語法:Select * from 表1 right join 表2 on 主鍵=外鍵

?

表連接:

第一步:看這幾張有沒有相同的列
第二步:確定這個列是哪張表的主鍵
第三步:確定好了過后直接寫on 主鍵=外鍵
第四步:修改*,把*號換成一些需要顯示列

自連接:

第一步:將張表以命名別名的方式拆分成兩張表
第二步:找準篩選出垃圾數據的關系
第三步:分清左邊的數據來自于哪張表,右邊的數據來自于哪張表
第四步:才開始寫 on 主鍵=外鍵
第五步:換*號,顯示需要展示出來數據

字符函數:
concat(列1,'字符'); 合并函數
select concat(userName,userPwd) '用戶名和密碼' from user;
select concat('Hello','World') from dual;

日期函數:
sysdate(); 查詢當前系統時間函數
select sysdate() from dual;
select * from user;
dual??
dual是數據庫為了讓我們試驗函數的作用或者功能所提供的一張偽表;
偽表就是實際上不存在,但是在數據庫當中依然可以使用,表名就叫dual
轉換函數

數字函數

其它函數

統計函數,又稱聚合函數,專門為了統計某一列的值而研發出來的函數
count 統計某一列的非空總行數
sum 統計某一列的總和
max 統計某一列的最大值
min 統計某一列的最小值
avg 統計某一列的平均值

count可以忽略列的數據類型
avg sum max min 只能用于數字類型只上;


having 與where的區別:
相同點:having和where都是用于條件篩選
不同點:having多與group by 結合使用,用于分組過后的條件篩選where用于分組之前的篩選

?

子查詢語法:
Select * from 表名 where 列名 in (Select 相同列 from 表名)
Select * from 表名 where 列名 比較運算符 (select 數字列 from 表名)
注意點:如果在where后面嵌套了子查詢,一定要記得把 * 號換成where 后面的那個列名

?

添加索引的語法:
Alter table 表名 add 索引的類型 索引的名字 (需要添加索引的列)
ALTER TABLE `orderdetail`
ADD INDEX `orderdetailNum` (`orderdetailNum`) ;
刪除索引的語法:
Alter table 表 drop 索引類型 索引的名字

?

事務:
Set autocommit=0;
關閉自動提交,開啟事務
Set autocommit=1;
開啟自動提交,關閉事務;
start transaction; -- 開啟一個事務點;記錄原有表中的數據,如果一旦出錯,直接回到這個事務點之上
set autocommit=0; -- 開啟事務

?

視圖:就是一張虛擬表格里面存儲了查詢結果;
特點:隱藏真正的表名,讓人不知道你的表名或者列名真正叫什么

創建試圖的語法:create view 視圖名字 as 查詢語句

刪除視圖語法:drop view 視圖名字

?

?

?

?mysql查詢表內所有列名,并用逗號分隔:

SELECT GROUP_CONCAT(COLUMN_NAME SEPARATOR ",") FROM information_schema.COLUMNS?
WHERE TABLE_SCHEMA = '數據庫名稱' AND TABLE_NAME = '表名'

?

?

當行內容過長時,尾部+\G 將結果以垂直方向輸出。

mysql> select * from db_archivelog\G

?

?

清空自增列的值:

?alter table mr_city AUTO_INCREMENT=1;

?

?

轉載于:https://www.cnblogs.com/yc-c/p/8867239.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/250502.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/250502.shtml
英文地址,請注明出處:http://en.pswp.cn/news/250502.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數碼相機控制點的自動定位檢校

為簡化控制場相機檢校中的人工量測控制點的繁瑣工作,提高相機檢校精度,本文提出一種方法:只需均勻量測少量控制點的像方坐標獲取相機檢校初始參數,便可通過動態模板匹配實現單影像相機檢校的控制點高精度自動定位檢校。實驗證明此方法檢校精度與人工量測檢校精度相近。 https:/…

Java 常用類

Java 常用類 字符串相關類 String類:構造字符串對象 常量對象:字符串常量對象是用雙引號括起的字符序列。 例如:”你好”、”12.97”、”boy”等。 字符串的字符使用Unicode字符編碼,一個字符占兩個字節 String類較常用構…

koa --- restful規范及其栗子

遵循Restful規范的簡單的栗子 前端代碼: <html><head><script src"https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script src"https://unpkg.com/element-ui/lib/index.js"></script><script src&qu…

軟工五:四則運算

題目要求 本次作業要求兩個人合作完成&#xff0c;駕駛員和導航員角色自定&#xff0c;鼓勵大家在工作期間角色隨時互換&#xff0c;這里會布置兩個題目&#xff0c;請各組成員根據自己的愛好任選一題。 題目一&#xff1a; 我們在剛開始上課的時候介紹過一個小學四則運算自動生…

Tomcat 配置Https

https://www.cnblogs.com/wanghaoyuhappy/p/5267702.html JDK1.8 keytool 生存證書 C:\keys\tomcat.keystore 1:證書生成 命令如下: keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -keystore C:/keys/tomcat.keytore -storepass 123456 keytool 使…

koa --- 使用koa-multer和element-ui組件上傳頭像

文件上傳 前端代碼 <script src"https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src"https://unpkg.com/element-ui/lib/index.js"></script> <linkrel"stylesheet"href"https://unpkg.co…

PKUSC2018訓練日程(4.18~5.30)

(總計:共66題) 4.18~4.25&#xff1a;19題 4.26~5.2&#xff1a;17題 5.3~5.9: 6題 5.10~5.16: 6題 5.17~5.23: 9題 5.24~5.30: 9題 4.18 [BZOJ3786]星系探索(偽ETT) [BZOJ4337][BJOI2015]樹的同構(樹的最小表示法) [BZOJ3551][ONTAK2010]Peaks(加強版)(Kruskal重構樹,主席樹) …

筆記:less的三種使用方法

直接在瀏覽器端使用 第一步&#xff0c;引入 .less 文件&#xff08;注意要將 rel 屬性設置為“stylesheet/less”&#xff09; <link rel"stylesheet/less" type"text/css" href"styles.less" /> 第二步&#xff0c;引入Less.js文件 <…

koa --- nunjucks在Koa中的使用、中間件的配置

Nunjucks在Koa中的應用 app.js const koa require(koa); const app new koa(); const router require(./router) const nunjucks require(koa-nunjuncks-2); app.use(nunjucks({ext: html, // 指定視圖文件默認后綴path: path.join(__dirname, views), // 指定視圖目錄…

2018福大軟工實踐第六次作業

目錄 NABCD分析引用N(Need&#xff0c;需求)&#xff1a;A(Approach&#xff0c;做法)&#xff1a;B(Benefit&#xff0c;好處)&#xff1a;C(Competitors&#xff0c;競爭)&#xff1a;D(Delivery&#xff0c;交付)&#xff1a;初期中期個人貢獻分評定原則評定細則本組現場答辯…

day32—CSS多列布局學習

轉行學開發&#xff0c;代碼100天——2018-04-17 關于多列布局&#xff0c;前期已經梳理過&#xff0c;今天的培訓課程學習中再次提及&#xff0c;趁此也做個總結和檢驗。 多列布局的介紹參考&#xff1a; day08—css布局解決方案之多列布局關于多列布局的類型和方法&#xff1…

JDBC 事物處理

JDBC 事物處理 ?事務&#xff1a;指構成單個邏輯工作單元的操作集合 ?事務處理&#xff1a;保證所有事務都作為一個工作單元來執行&#xff0c;即使出現了故障&#xff0c;都不能改變這種執行方式。當在一個事務中執行多個操作時&#xff0c;要么所有的事務都被提交(commit…

centos6上安裝mysql8.0版本

本博客是采用yum源的方式安裝&#xff0c;非常的方便和快捷。(redhat 與centos7 等操作系統都可以采用此方法&#xff0c;步驟大體一致) mysql官網地址: https://dev.mysql.com 開始安裝&#xff1a; 1.清理環境&#xff0c;查看有沒有之前安裝過的mysql記錄&#xff0c;清理…

koa --- 使用koa-multer上傳文件+elementUI

核心代碼 const upload require(koa-multer) ({dest: ./public/images}); router.post(/upload, upload.single(file), ctx>{console.log(file, ctx.req.file);console.log(body, ctx.req.body);ctx.body 上傳成功; })目錄結構如下 基本思路 1.通過瀏覽器訪問url: http:…

[bzoj4003][JLOI2015]城池攻占_左偏樹

城池攻占 bzoj-4003 JLOI-2015 題目大意&#xff1a;一顆n個節點的有根數&#xff0c;m個有初始戰斗力的騎士都站在節點上。每一個節點有一個standard&#xff0c;如果這個騎士的戰斗力超過了這個門檻&#xff0c;他就會根據城池的獎勵增加自己的戰斗力。具體地&#xff1a;每一…

Java Web Servlet

Java Web Servlet Servlet是在服務器上運行的小程序。一個Servlet就是一個Java類&#xff0c;并且可以通過“請求-響應”編程模型來訪問的這個駐留在服務器內存里的Servlet程序。 Servlet可完成以下功能&#xff1a; 讀取客戶端&#xff08;瀏覽器&#xff09;發送的顯式的數…

第二篇 python基礎知識總結:數據、運算符

引子 我們跟任何人交流&#xff0c;說的每一句都是都一些文字組成&#xff0c;包含名詞、動詞、語句、標點符號等&#xff0c;組成我們說普通話構成的基本要素。同理我們學習python語言也要明白這些基本要素&#xff0c;也就是我們常說的基本語法&#xff0c;這是我們必須掌握的…

【BZOJ1797】[AHOI2009]最小割(網絡流)

【BZOJ1797】[AHOI2009]最小割&#xff08;網絡流&#xff09; 題面 BZOJ洛谷 題解 最小割的判定問題&#xff0c;這里就當做記結論吧。&#xff08;源自\(lun\)的課件&#xff09; 我們先跑一遍最小割&#xff0c;求出殘量網絡。然后把所有還有流量的邊拿出來跑\(Tarjan\)縮\(…

koa --- 使用Sequelize連接mysql

Sequelize介紹 為了快捷開發,社區出現了一系列的ORM(Object Relational Mapping)類庫ORM的字面意思為對象關系映射,它提供了概念性的、易于理解的模型化數據的方法。通過ORM,可以降低操作數據庫的成本。開發者不需要通過編寫SQL腳本來操作數據庫,直接通過訪問對象的方式來查詢…

Java Web Jsp

Java Web Jsp JSP全稱Java Server Pages&#xff0c;是一種動態網頁開發技術。它使用JSP標簽在HTML網頁中插入Java代碼。標簽通常以<%開頭以%>結束。 JSP是一種Java servlet&#xff0c;主要用于實現Java web應用程序的用戶界面部分。網頁開發者們通過結合HTML代碼、XHT…