資料庫基礎

2022-07-29 20:57:14 字數 4502 閱讀 4451

目錄

'''

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.鎖的...