目錄
'''
1.什麼是資料庫:管理資料的系統 - 安裝某種管理資料的系統 - 管理的物件本質是檔案
2.儲存資料的位置:記憶體、硬碟
3.什麼是系統:執行在硬體基礎上,管理其他軟體
'''#資料庫的組成
'''庫:存放多張表 -- 資料夾
表:包含多條相同結構的記錄 -- 檔案
記錄:包含多個key-value鍵值對的一條資料 -- 二進位制資料
字段:描述資訊 - 資訊本身 == key-value -- 二進位制資料
stuid name age gender
1 bob 18 男
2 tom 17 女
...teacher
...'''
# 1. 關係與非關係
# 關係:資料庫中表與表之間有聯絡 -- mysql
# 非關係:沒有表概念 -- redis,mongodb(介於關係與非關係)
# 2. 記憶體與硬碟
# 硬碟:資料可以永久儲存 -- mysql,mongodb
# 記憶體:資料的訪問效率極高 -- redis,memcache
# 3. sql與nosql
# sql:資料庫操作通過sql語句
# nosql:資料庫操作就是key-value形式(value就是一條記錄)
# stu -
# stus - [,]
# 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. 配置服務:
啟動管理員終端:mysql --install [nmysql]
'''
1) 遊客登陸(不一定能登入,登入了也啥都不能幹)
>: mysql
2) 賬號密碼登入
>: mysql -u root -p
再輸入密碼,沒有任何提示,沒有密碼直接回車
3) 連線指定伺服器的mysql
>: mysql -hlocalhost -p埠號 -uroot -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('123456') where host='localhost';
5) 沒有登入
>: mysqladmin -u使用者名稱 -p舊密碼 -h網域名稱 password "新密碼"
eg>: mysqladmin -uroot -p123456 -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 ys;
eg>: create database zero charset=utf8;
eg>: create database aa;
5) 檢視建立資料庫的詳細內容
mysql>: show create database 資料庫名;
eg>: show create database ys;
6) 刪除資料庫
mysql>: drop database 資料庫名;
eg>: drop database aa;
前提:先選取要操作的資料庫
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 表名 modify 新字段屬性;
eg>: alter table student modify age int(3);
** 修改欄位名
mysql>: alter table 表名 change 舊欄位 新字段 型別;
eg>: alter table student change name stu_name char(16);
** 修改表名
mysql>: alter table 表名 rename 新錶名
eg>: alter table student rename stu;
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),('李四',19);
指定庫》: insert into ys.student value ('張三',18),('李四',19);
3) 根據條件修改指定內容
mysql>: update [資料庫名.]表名 set 欄位1=新值1,...,欄位n=新值n where 字段=舊值;
eg:> update student set name='tom',age='100' where name='bob';
注:i) 可以只修改部分字段 ii) 沒有條件下,所有記錄都會被更新
eg>: update student set name='zz';
4) 根據條件刪除記錄
mysql>: delete from [資料庫名.]表名 where 條件;
eg>: delete from student where age<30;
資料庫 資料庫基礎
什麼是sql 結構化查詢語言 structtured query language sql的作用 啟動mysql.exe,連線伺服器後,就可以使用sql來操作伺服器了。類似php中操作mysql的語句就是sql語句 sql標準 由國際標準化組織 iso 制定的,對dbms 資料庫管理系統 的統一操作...
資料庫基礎 資料庫設計
一 資料庫生命週期 1.週期 需求分析,概念結構設計,邏輯設計,物理設計,系統實施,系統執行和維護。2.響應的文件 二 正規化 一般資料庫要求規範化到第三正規化,視具體需求重新調整。第一正規化 1nf 強調列的原子性,即列不能分為多列。第二正規化 2nf 關係屬於第一正規化,且每乙個非主屬性完全函式...
資料庫基礎
一.資料庫事物特徵 1.atomic 原子性 不可分割 2.consistency 一致性 參照完整 3.isolation 隔離性 防止併發 4.durability 永續性 永久儲存資料 二.事物和併發 1.併發問題 第一類丟失,髒讀,虛讀,不可重複讀,第二類丟失更新 不可重複讀的特例 2.鎖的...