MySQL和Navicat基本使用
MySQL簡介:
MySQL
是一種開放源代碼的關系型資料庫管理系統(RDBMS),使用最常用的資料庫管理語言–結構化查詢語言(SQL)進行資料庫管理
資料庫分為三級關系:
資料庫伺服器、資料庫、資料表
MySQL安裝:
安裝包下載下傳位址:https://dev.mysql.com/downloads/mysql/
解壓下載下傳的安裝包
在解壓後檔案的根目錄下建立配置檔案
my.ini
my.ini:
[mysql]
#設定mysql用戶端預設字元集
default-character-set = utf8
[mysqld]
#設定mysql的安裝目錄
Basedir = C:\Program Files\mysql-8.0.18-winx64
#設定mysql資料庫的資料的存放目錄
Datadir = C:\Program Files\mysql-8.0.18-winx64\data
#設定允許最大連接配接數
max_connections = 200
#設定打開表的最大緩存數
table_open_cache = 2000
#設定最大緩存線程數量
thread_cache_size = 10
#設定預設使用端口
port = 3306
#設定服務端使用的字元集
character-set-server = utf8
#設定建立新表時将使用的預設存儲引擎
default-storage-engine = INNODB
配置環境變量:
我的電腦 – 屬性 – 進階系統設定 – 環境變量 – 系統變量 – path
建立環境變量為mysql安裝檔案bin的路徑
MySQL使用:
用管理者身份打開cmd指令行,進入bin目錄下執行指令生成資料的存放檔案
data
mysqld --initialize-insecure --user=mysql
安裝MySQL
mysqld install
顯示安裝成功
啟動MySQL服務
net start mysql
顯示啟動成功
MySQL常用指令:
啟動MySQL服務
net start mysql
停止MySQL服務
net stop mysql
登入mysql
mysql -u使用者名 -p密碼
顯示資料庫清單
show databases
顯示資料庫中資料表
show tables
顯示資料表的結構
describe 表名
建立資料庫
create database 庫名
删除資料庫
drop database 庫名
建立資料表
create table 表名
删除資料表
drop table 表名
MySQL圖形化處理界面 Navicat
基本使用:
Navicat
網上可以查到免費版本的Navicat安裝
安裝完成後,啟動MySQL服務,打開Navicat
- 點選‘連接配接’,選擇‘MySQL’建立連接配接MySQL服務
- 填寫連接配接資訊後點選‘确定’
- 輕按兩下建立好的‘test’連接配接,啟動連接配接MySQL服務
- 已連接配接MySQL服務,‘test’下面是資料庫名稱
- 右擊‘test’建立資料庫‘test1’
- 輕按兩下建立的資料庫‘test1’,右擊‘表’建立表
- 點選‘添加字段’添加資料表字段
- 設定字段
- 儲存後‘表’下面出現建立的‘list’資料表,可以添加資料
SQL語句:
SQL
即結構化查詢語言(Structured Query Language),是一種特殊目的的程式設計語言,是一種資料庫查詢和程式設計語言,用于存取資料以及查詢、更新和管理關系資料庫系統
查詢資料
1.基本查詢:
select 字段名1, 字段名2, … from 表名
*: 通配符,代表所有字段
//查詢所有人的id和name
select id,name from list
//查詢所有人的全部資訊
select * from list
2.條件來篩選查詢:
select 字段名1, 字段名2, … from 表名 where 篩選條件
多個篩選條件用‘,’隔開
//查詢id為2的人的全部資訊
select * from list where id = 2
//查詢id大于2小于9的人的全部資訊
select * from list where id >2 and id<9
3.模糊查詢:
select 字段名1, 字段名2, … from 表名 where 字段名 like 模糊查詢條件
通配符:
%: 代表任意長度(包括0)的任意字元
_: 代表長度為1的任意字元
//查詢name以王開頭的人的全部資訊
select * from list where name like '王%'
//查詢name以王開頭且為三個字的人的全部資訊
select * from list where name like '王__'
//查詢name中有王的人的全部資訊
select * from list where name like '%王%'
4.結果排序查詢:
select 字段名1, 字段名2, … from 表名 order by 排列順序
asc: 升序 (預設值)
desc: 降序
如果有where,where放在order by前面
可進行排序的字段通常是數字整型 英文字元串型 日期型
//查詢所有人的全部資訊,結果按id降序排列
select * from list order by id desc
//查詢所有人的全部資訊,結果先按age降序排列,如果age相同,再按id升序排列
select * from list order by age desc, id asc
5.限制結果查詢:
select 字段名1, 字段名2, … from 表名 limit 起始位置,長度
起始位置為查詢結果的索引,從0開始,0代表第一條資料,如果省略,則預設表示從0開始
如果有where和order by,limit放在最後面
//查詢前三個人的全部資訊
select * from list order limit 0,3
//查詢第三個至第五個人的全部資訊
select * from list order limit 2,3
//查詢age最大的三個人的全部資訊
select * from list order order by age desc limit 0,3
6.連接配接查詢:
select * from 表名1 join 表名2 on 連接配接條件
連接配接條件一般為:表名1.值1=表名2.值2
可以為字段名和表名定義别名
//查詢list1中id和list2中mid相等的全部資料
select * from list1 join list2 on list1.id=list2.mid
//查詢list1中id和list2中mid相等的list1中的name資料和list2中的age資料
select a.name aname, b.age bage from list1 a join list2 b on a.id=b.mid
添加資料
insert into 表名(字段名1, 字段名2, …) values (值1, 值2, …)
或
insert into 表名 set 字段名1=值1, 字段名2=值2, …
字段的順序要和值的順序互相對應,如果每個字段都有資料,那麼表名後面可以省略字段名,但是values裡面值的順序必須正确,自增長類型的主鍵,可以使用null來填充,MySQL會自動填充資料
//向表中添加一個人
insert into list(name, age) values('李四', 18)
//或
insert into list set name='李四', age=18
修改資料
update 表名 set 字段名1=值1, 字段名2=值2, … where 修改條件
不指定修改條件會修改所有資料
//修改id為2的人的age為18
update list set age=18 where id=2
//修改所有人的age為18
update list set age=18
删除資料
delete from 表名 where 删除條件
不指定删除條件會删除所有資料
//删除id為2的人
delete from list where id=2
//删除所有資料
delete from list