Mysql數據庫的基本操作

,總結出常用指令,寫給那些一些剛入行的朋友,之后會持續更新,關于Python學習的基礎知識點

數據庫管理系統(Data Base Management System,DBMS)是管理和維護數據庫的系統軟件。常用的DBMS有:Oracle、DB2、SqlServer、MySql等

Oracle(甲骨文) 性能超群,技術領先,主要應用在大型的企業數據庫領域
SQL Server:Microsoft的產品,界面友好,易學易用,操作性和交互性方面獨樹一幟
MySQL:中小型應用系統,體積小,速度快,總體擁有成本低,開發源代碼,2009年SUN被 Oracle收購
DB2:IBM(國際商業機器公司)的產品,伸縮性比較強
sql是結構化查詢語言

查看mysql服務端的狀態

檢查MySQL的狀態:sudo service mysql status
開啟MySQL服務器:sudo service mysql start
關閉MySQL服務器:sudo service mysql stop
重啟mysql服務: service mysql restart
DDL【Data Definition Language】,數據定義語言,用戶創建、修改、刪除表結構

數據庫基本操作

創建一個數據庫,
Cerate database 數據庫名 charset = utf8;
查看正在使用的數據庫的信息
select database();
查看當前數據庫管理系統中所有的數據庫
show databases;
切換數據庫
use xxx;
刪除數據庫
drop database xxx;
退出數據庫
quit/exit
表格處理
創建一個表格,
Create table 表名(
Id int auto_increment primaary key,
Name varchar(20) not null,
age int,
Gender bit not null
);
顯示當前數據庫中所有的表
show tables;
刪除表格
dorp table 表格名;
表格重命名
rename table原表名to新表名;
展示表結構
desc表名;
添加表格中的列
alter table表名add|change|drop;

DML【Data Manipulation Language】,數據操作語言,用于對數據表進行增刪改的操作

數據操作

1 增

全列插入:
insert into表名values(...) 說明主鍵列是自動增長,但是在全列插入時需要占位,通常使 用0,插入成功后以實際數據為準
實例:inert into student values(0,"tom",19,1,"北京",0)
缺省插入:
格式:insert into表名(列1,列2,.....) values(值1,值2....)
事例;insert into student(name,age,address)values("lily",19,"上海")
同時插入:
格式:insert into表名values(...),(...),(...)

2 刪

格式:delete from表名where條件;
事例:delete from student where id=4;
注意:不加條件全部刪除

3 修改

格式:update表名set列1=值1,列2=值2,....where條件(一般拿id為條件,id=7)
實例:update student set age=16 where id=7;
注意:沒有條件修改全列,慎用
DQL【Data Query Language】,數據查詢語言,用于負責數據表的查詢工作

4 查

1,基本語法
格式select * from表名
1.查詢所有列
mysql> select * from student;
2.查詢指定列
mysql>select id,name,gender from student;
3.條件查詢
mysql>select * from student where gender='female' and age=20;
4,查詢id為1,2,3的行
mysql>select * from student where id in('1','2','3');
5.模糊查詢
查詢姓名由3個字符組成的記錄,并且最后一個字母為c的記錄
mysql>select * from student where name like '__c';
%表示可匹配多個字符
6.去重查詢,消除重復行
mysql>select distinct id from student;
7.降序升序排列
1.查詢所有的記錄,按照年齡升序排序
mysql>select * from student order by age asc;
2.查詢所有學生記錄,按照年齡降序排序, 如果年齡相等,則按照編號進行升序排序
mysql>select * from student order by age desc,id asc;
8.聚合函數
1.查詢年齡大于20
mysql>select count() from student where age>20;
2.查詢所有學生的年齡和
mysql>select sum(age) from student;
3.求最大年齡和最小年齡
mysql>select max(age),min(age) from student;
4.查詢所有學生的平均年齡
mysql>select avg(age) from student;
9.范圍查詢
表示在一個非連續的范圍內
mysql>select * from student where id in (1,2,3);
表示在一個連續的范圍內
mysql>select * from student where id between 6 and 8;
10.分組
語法:Select 列1,列2, 聚合,,,, from 表名 group by 列1,列2 , ,,,,
需求:查詢女生的人數
示例:select gender,count(
) from student group by gender;
分組后的數據篩選::Select 列1,列2, 聚合,,,, from 表名 group by 列1,列2 , ,,,, having 列 1,列2,聚合....
事例:select gender,count(*) from student group by gender having gender;
11.分頁
作用,全打出來太多,分頁,一頁頁的看.
語法:select * from 表名 limit start,count;
事例:select * from student where gender=1 limit 3,6
說明:(看男生的3-6條)

DCL【Data Control Language】:數據控制語言,用來定義訪問權限

創建一個數據庫和一個表格的完整流程

CREATE DATABASE zuoye charset utf8; (創建一個數據庫zuoye)
mysql>show databases; (查看當前數據庫管理系統中所有的數據庫)
mysql>use zuoye; (進入數據庫zuoye)
mysql>create table student(
->sno varchar(20),
->sname varchar(20),
->ssex varchar(20),
->sbirthday datetime,
->class varchar(20)
->); (添加數據庫中的內容,在第一行顯示)
?mysql>insert into student values('108','曾華','男','1977-09-01','95033');
?Query OK,1 row affected(1.04 sec)
?mysql>insert into student values('105','匡明','男','1975-10-02','95031');
?Query OK,1 row affected(0.06 sec)
?mysql>insert into student values('107','王麗','女','1976-01-23','95033');
?(補充表格內容)
?mysql>selectfrom student;
?(完整展示student表格的內容)
?mysql>select sname,ssex,class from student;
?(查詢Student表中的所有記錄的Sname、Ssex和Class列)
?mysql>select
from score where degree>=60 and degree<=80;
?查詢Score表中成績在60到80之間的所有記錄
?mysql>selectfrom score where degree=85 or degree=86 or degree=88;
?查詢Score表中成績為85,86或88的記錄
?mysql>select
from student where class=95031 and ssex="女";
?查詢Student表中“95031”班或性別為“女”的同學記錄
?mysql>selectfrom student order by class desc;
?以Class降序查詢Student表的所有記錄
?mysql>select
from score order by cno asc,degree desc;
?以Cno升序、Degree降序查詢Score表的所有記錄
?mysql>select count(*)from student where class=95031;
?查詢“95031”班的學生人數
?update student(可換)set class=9500(可換)
?把class全成9500

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,967評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,273評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,870評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,742評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,527評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,010評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,108評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,250評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,769評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,656評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,853評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,371評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,103評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,472評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,717評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,487評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,815評論 2 372

推薦閱讀更多精彩內容