[TOC] 第十六章、初識資料庫 一、資料庫 二、資料庫的組成 三、資料庫的分類 四、卸載資料庫 五、安裝資料庫 六、連接資料庫 七、用戶信息查看 八、資料庫的基本操作 九、表的基本操作 十、記錄的基本操作 1)查看某個資料庫中的某個表的所有記錄,如果在對應資料庫中,可以直接查找表 mysql : ...
目錄
第十六章、初識資料庫
一、資料庫
1、什麼是資料庫管理數據的系統 - 安裝某種管理數據的系統 - 管理的對象本質是文件
2、存儲數據的位置:記憶體、硬碟
3、什麼是系統:運行在硬體基礎上,管理其他軟體
二、資料庫的組成
庫:存放多張表 - 文件夾
表:包含多條相同結構的記錄 - 文件
記錄:包含多個key-value鍵值對的一條數據 - 二進位數據
欄位:描述信息 - 信息本身 == key-value - 二進位數據
"""
stu
id name age gender
1 Bob 18 男
2 Tom 17 女
"""
三、資料庫的分類
# 1)關係與非關係
# 關係:資料庫中表與表之間有聯繫 - mysql
# 非關係:沒有表概念 - redis、mongodb(介於關係與非關係)
# 2)記憶體與硬碟
# 硬碟:數據可以永久存儲 - mysql、mongodb
# 記憶體:數據的存取效率極高 - redis、memcache
# 3)sql與nosql
# sql:資料庫操作通過sql語句
# nosql:資料庫操作就是key-value形式(value就是一條記錄)
# stu - {'name': 'Bob', 'age': 18}
# stus - [{'name': 'Bob', 'age': 18}, {'name': 'Tom', 'age': 18}]
# name - 'Jerry'
四、卸載資料庫
前提)啟動終端,輸入 mysql,如果不是提示 不是內部或外部命令,代表已安裝資料庫
1)直接連入
i 搜索:服務,檢索mysql服務,有
停止服務,並移除服務 - 啟動管理員終端:mysqld --remove
ii 搜索:服務,檢索mysql服務,無 (mysql使用命令啟動)
停止服務,啟動管理員終端
tasklist | findstr mysql
taskkill /pid 進程pid /f
2)連接超時
搜索:服務,檢索mysql服務,移除服務即可
3)移除環境變數
總結:如果能連入,先停止服務 | 如果添加了服務,就移除服務 | 取消環境變數配置
五、安裝資料庫
"""
"""
1、解壓免安裝版本(5.6 - 沒有初始密碼)
2、配置環境變數:資料庫絕對路徑下的bin
3、配置服務:
啟動管理員終端:mysqld --install [nmysql]
"""
六、連接資料庫
1)游客登陸(不一定能登入,登入了也啥都不能幹)
>: mysql
2)賬號密碼登錄
>: mysql -u root -p 再回車
再輸入密碼,沒有任何提示,沒有密碼直接回車
3)連接指定伺服器的mysql
>: mysql -h ip地址 -P 埠號 -u 賬號 -p
回車後敲入密碼
eg:
>: mysql -hlocalhost -P3306 -uroot -p
4)退出資料庫
>: quit
>: exit
七、用戶信息查看
1)查看當前登錄的用戶
mysql>: select user();
2)root許可權下可以查看所有用戶信息
mysql>: select * from mysql.user;
mysql>: select * from mysql.user \G
mysql>: select user,password,host from mysql.user;
3)root登錄下,刪除游客(操作後要重啟mysql服務)
mysql>: delete from mysql.user where user='';
4)root登錄下,修改密碼(操作後要重啟mysql服務)
mysql>: update mysql.user set password=password('12345678') where host='localhost';
5)沒有登錄
>: mysqladmin -u用戶名 -p舊密碼 -h功能變數名稱 password "新密碼"
eg>: mysqladmin -uroot -p12345678 -hlocalhost password "root"
6)root登錄下,創建用戶
mysql>:grant 許可權們 on 資料庫名.表名 to 用戶名@主機名 identified by '密碼';
八、資料庫的基本操作
1)查看已有資料庫
mysql>:show databases;
2)選擇某個資料庫
mysql>:use 資料庫名
3)查看當前所在資料庫
mysql>:select database();
4)創建資料庫
mysql>:create database 資料庫名 [charset=編碼格式];
eg>: create database owen;
eg>: create database zero charset=utf8;
eg>: create database tank;
5)查看創建資料庫的詳細內容
mysql>:show create database 資料庫名;
eg>: show create database owen;
6)刪除資料庫
mysql>: drop database 資料庫名;
eg>: drop database tank;
九、表的基本操作
前提:先選取要操作的資料庫
1)查看已有表
mysql>:show tables;
2)創建表
mysql>:create table 表名(欄位們);
eg>: create table student(name varchar(16), age int);
eg>: create table teacher(name varchar(16), age int);
3)查看創建表的sql
mysql>:show create table 表名;
eg>: show create table student;
4)查看創建表的結構
mysql>:desc 表名;
5)刪除表
mysql>: drop table 表名;
eg>: drop table teacher;
6)修改表欄位
mysql> alter table orders modify column shipaddress int(20);
十、記錄的基本操作
1)查看某個資料庫中的某個表的所有記錄,如果在對應資料庫中,可以直接查找表
mysql>: select * from [資料庫名.]表名;
註:*代表查詢所有欄位
2)給表的所有欄位插入數據
mysql>: insert [into] [資料庫名.]表名 values (值1,...,值n);
eg:如果給有name和age兩個欄位的student表插入數據
1條>:insert into student values ('Bob', 18);
多條>:insert into student values ('張三', 18), ('李四', 20);
指定庫>:insert owen.student values ('張三', 18), ('李四', 20);
3)根據條件修改指定內容
mysql>: update [資料庫名.]表名 set 欄位1=新值1, 欄位n=新值n where 欄位=舊值;
eg:> update student set name='王五', age='100' where name='張三';
註:i) 可以只修改部分欄位 ii) 沒有條件下,所有記錄都會被更新
eg:> update student set name='呵呵';
4)根據條件刪除記錄
mysql>: delete from [資料庫名.]表名 where 條件;
eg:> delete from student where age<30;