雄關漫道真如鐵,而今邁步從頭越。
關係型資料庫
著名的資料庫
解壓後bin/mysql.exe 客戶端程式
bin/mysqld.exe 伺服器端程式
bin/mysqldump.exe 資料備份程式
初始化(只需要執行一次)
bin/mysqld --initialize --console
初始化結束會生成data的資料夾,其中儲存系統和使用者的資料
注意記錄臨時密碼
啟動資料庫服務(跳過就可以)
bin/mysqld --console
埠用的是3306
可以使用ctrl+c 停止服務程式,或者直接關閉視窗
使用客戶端連線
bin/mysql -u 使用者名稱 -p
初始化時mysql有乙個 root (資料庫管理員使用者)
bin\mysql -uroot -p
正確登入後會出現 mysql> 提示符,要退出用quit命令
修改密碼(只需要執行一次)
alter
user
'root'@'localhost' identified by 'root';
配置mysql的bin目錄至環境變數(只需要執行一次)
將mysql安裝為系統服務(只需要執行一次)
bin\mysqld install 服務名
如果服務名沒有提供,預設為mysql
如果要解除安裝服務:sc delete 服務名
如果安裝服務或刪除時出現許可權不足,用管理員身份執行cmd(黑視窗)建庫
設定預設的字元編碼
一種是在建庫語句上帶上字元編碼
另一種是在啟動服務時新增配置檔案
建庫sql語句(在mysql提示符下執行)
create
database 資料庫名 character
set utf8mb4;
mysql中的utf8字元不夠完整,utf8mb4是完整版本的
刪除資料庫
drop
database 資料庫名;
檢視建庫資訊
show
create
database 資料庫名;
要修改全域性的設定,在mysql解壓目錄新增 my.ini 配置檔案,在其中輸入(推薦)
[mysqld]
character-set-server=utf8mb4
停止舊服務,刪除舊服務,安裝新服務,啟動新服務
net stop mysql
sc delete mysql
mysqld install
net start mysql
建表(table)
乙個庫中有多張表,每張表裡有多條資料
表分成行(row 橫向)與列(column 縱向)
學號 姓名 性別
1 張三 男
2 李四 女…選庫
use 庫名;
建表
create
table 表名(
列1名 型別,
列2名 型別,..
.);
create
table student(
id int
, name varchar(10
),*** char(1
));
整數型別: tinyint(1個位元組), smallint(2個位元組), int(4個位元組), bigint(8個位元組)
無符號數字 tinyint unsigned (0~255)
浮點型別: float, double
定點小數: decimal(總位數, 小數字數)
decimal(10, 2) 小數部分兩位,整數部分最大8位
字元型別
char(長度) char(10) 表示最多存10個字元, 定長,效率高
varchar(長度) varchar(10) 表示最多儲存10個字元,變長
「abc」 "abc " 儲存時,長度不足,用空格補齊
「abc」 「abc」 儲存時,根據實際長度儲存,可以節省空間
日期型別
datetime
timestamp
插入資料
insert
into 表名(列1
, 列2,.
.. 列n)
values
(值1, 值2,.
.. 值n)
;
注意:值個數要與列個數一致
insert
into student(id,name,***)
values(1
,'張三'
,'男'
);
查詢資料
語法:
select 列1
, 列2,.
..from 表名;
select id, name, *** from student;
檢視所有庫
show databases;
檢視所有表
show tables;
唯一主鍵
每張表只能有乙個主鍵
主鍵的值必須是唯一,且非空的
create
table 表名(
列1名 型別 primary
key,
列2名 型別,..
.);
刪表語法:drop table 表名;
create
table student(
id int
primary
key,
name varchar(10
),*** char(1
));
insert into student(id,name,***) values(null, 『李四』, 『男』);
自增列,用來解決主鍵衝突問題
在主鍵列後加入:auto_increment
1 2 3 4 …
因為id列由資料庫維護,所以有了自增列後就不需要給id列賦值了
create
table student(
id int
primary
keyauto_increment
, name varchar(10
),*** char(1
));
一次插入多條記錄(mysql獨有)
insert into student(name,***) values(『李四』, 『男』),(『王五』, 『男』),(『趙柳』, 『男』);
查詢所有列
select * from student;
mysql會把*翻譯成:id,name,***
刪除記錄(只刪除資料,不刪表)
delete
from 表 where 條件;
刪除表(連表和資料一塊刪除)
drop
table 表;
只刪除id=6的記錄
delete from student where id=6;
create table a ( birthday datetime );
insert into a (birthday) values (『1988-5-4』);
insert into a (birthday) values (『1988-5-4 16:39:00』);
// 1.
create table b (
id int primary key auto_increment,
name varchar(20)
) auto_increment=1001;
insert into b (name) values(『aaa』),(『bbb』),(『ccc』);
// 2.
create table b (
id int primary key auto_increment,
name varchar(20)
);alter table b auto_increment=1001;
mysql5 7安裝及操作
1.mysql 5.7的安裝 sudo pip install mysql server 2.注意我安裝mysql 5.7是沒有提示輸入賬號密碼的 具體什麼原因菜雞也不懂 解決方法 找到 etc mysql debian.cnf 檔案下的賬號密碼進行登入 mysql u username p pas...
MySQL5 7 安裝及解除安裝
開啟計算機 屬性 高階系統設定 環境變數,新建乙個環境變數,變數名為mysql home,變數值為你的mysql根目錄d program files mysql 5.7.30 winx64 然後在系統變數path中新增 mysql home bin 在根目錄下建立my.ini,新增以下內容 mysq...
MySql5 7安裝及配置
mysql是乙個關係型資料庫管理系統,由瑞典mysql ab 公司開發,目前屬於 oracle 旗下公司。mysql 最流行的關係型資料庫管理系統,在 web 應用方面mysql是最好的 rdbms relational database management system,關聯式資料庫管理系統 應...