日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python教学数据库_Python学习之数据库初识

發(fā)布時間:2023/12/19 python 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python教学数据库_Python学习之数据库初识 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

9 數(shù)據(jù)庫

9.1 數(shù)據(jù)庫的初識

?數(shù)據(jù)庫是可以獨(dú)立運(yùn)行的,并且可以對數(shù)據(jù)的增刪改查提供高效便捷方式的工具。

數(shù)據(jù)庫解決的問題:

?解決了操作文件的效率和便捷問題

?解決了多個服務(wù)同時使用數(shù)據(jù)時的一致性問題

?解決了安全問題

?解決了并發(fā)問題

數(shù)據(jù)庫的優(yōu)點(diǎn):

?程序穩(wěn)定性:應(yīng)用服務(wù)器的崩潰不會影響數(shù)據(jù)的安全

?數(shù)據(jù)的一致性:將所有數(shù)據(jù)的管理統(tǒng)一,所有對數(shù)據(jù)的操作統(tǒng)一

?并發(fā):數(shù)據(jù)庫支持并發(fā)的網(wǎng)絡(luò)操作,不需要我們自己寫socket

?效率:使用數(shù)據(jù)庫對數(shù)據(jù)進(jìn)行增刪改查的效率比操作文件的效率高甚多

常見概念

DataBase

數(shù)據(jù)庫,簡稱DB,存放數(shù)據(jù)的倉庫,數(shù)據(jù)按照一定的格式存放

數(shù)據(jù)庫中的數(shù)據(jù)按照一定的模型組織、描述和純屬,具有較小的冗余,較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,可為各種用戶共享數(shù)據(jù)

DBMS

數(shù)據(jù)庫管理系統(tǒng) ,對數(shù)據(jù)進(jìn)行科學(xué)的組織和存儲,以及能夠高效的獲取和維護(hù)數(shù)據(jù)

常見數(shù)據(jù)庫分類:

【關(guān)系型數(shù)據(jù)庫】通過某些條件都可以同一條目;數(shù)據(jù)之間關(guān)聯(lián)性比較緊密;存取效率相對低;MySQL Oracle SQL server SQLlite(輕量級) access

【非關(guān)系型數(shù)據(jù)庫】速度快;通過key找數(shù)據(jù);數(shù)據(jù)之間關(guān)聯(lián)關(guān)系是K-V模式;存取效率相對高;redis mongodb(輕量級) memcache(內(nèi)存級別,斷電消失)

數(shù)據(jù)庫管理員 DBA

各個概念之間的關(guān)系

記錄:多個字段的信息組成一條記錄

表:stable,文件,用來存放多條信息或記錄

數(shù)據(jù)庫:文件夾,用來組織文件/表

數(shù)據(jù)庫管理系統(tǒng):管理數(shù)據(jù)庫

數(shù)據(jù)庫服務(wù)器:運(yùn)行數(shù)據(jù)庫管理軟件

9.2 MySQL的安裝

卸載數(shù)據(jù)庫:

停止數(shù)據(jù)庫服務(wù): net stop mysql 停止MySQL服務(wù),還可以在服務(wù)里找到停掉

刪除服務(wù): mysqld remove

刪除安裝文件

刪除環(huán)境變量

清除注冊表或者重啟電腦

安裝數(shù)據(jù)庫:

安裝包下載:

找到安裝包:路徑不能有中文;路徑中不能由特殊字符\t \n \b \1 \2 ;

修改配置文件:utf-8;所有配置項(xiàng)后面不要由特殊的符號;修改兩個路徑basedir,datadir

[mysql]

# 設(shè)置mysql客戶端默認(rèn)字符集

default-character-set=utf8

[mysqld]

#設(shè)置3306端口

port = 3306

# 設(shè)置mysql的安裝目錄

basedir=D:\mysql\mysql-5.6.45-winx64

# 設(shè)置mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄

datadir=D:\mysql\mysql-5.6.45-winx64\data

# 允許最大連接數(shù)

max_connections=200

# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集

character-set-server=utf8

# 創(chuàng)建新表時將使用的默認(rèn)存儲引擎

default-storage-engine=INNODB

配置環(huán)境變量:把bin目錄的路徑添加到環(huán)境變量中

以管理員身份打開CMD: mysqld install net start mysql

9.3 常用命令

數(shù)據(jù)庫命令分類

SQL:Structured Query Language,結(jié)構(gòu)化查詢語言,是一種數(shù)據(jù)庫查詢和程序設(shè)計語言,用于存取數(shù)據(jù)以及查詢、更新、管理關(guān)系型數(shù)據(jù)庫

【按功能分類】

DDL語句 數(shù)據(jù)庫定義語言:數(shù)據(jù)庫、表、試圖、索引、存儲過程

DML語句 數(shù)據(jù)庫操縱語言:增刪改查

DCL語句 數(shù)據(jù)庫控制語句:控制用戶權(quán)限等

進(jìn)入與退出MySQL

mysql

mysql> select user() # 查看當(dāng)前用戶

mysql> exit # 退出

# 指定用戶密碼登錄

mysql -uroot -p

Enter password: # 第一次使用root用戶登錄時,默認(rèn)是沒有密碼的,回車直接登錄

mysql> set password = password('root'); # 給當(dāng)前數(shù)據(jù)庫設(shè)置密碼

# 遠(yuǎn)程登陸

mysql -utest -p -h 192.168.13.121

創(chuàng)建賬號

格式:grant 權(quán)限 on 數(shù)據(jù)庫.* to 用戶名@登錄主機(jī) identified by "密碼"

權(quán)限包括:select,insert,update,delete == all

數(shù)據(jù)庫名.*:與該數(shù)據(jù)庫里的所有表建立連接; *.* 表示所有數(shù)據(jù)庫的所有表

# 創(chuàng)建本地賬戶

mysql> create user 'admin'@'localhost' identified by 'admin';

# 創(chuàng)建可用于遠(yuǎn)程登陸賬號

mysql> create user 'test'@'192.168.10.%' IDENTIFIED BY '12345' #'192.168.10.%' 指的是一個網(wǎng)段,可以指定單獨(dú)一臺主機(jī)的IP

mysql> create user 'test1'@'%' # 表示所有機(jī)器都可以連接

# 給賬號賦權(quán)限

mysql> grant all on *.* to 'admin'@'localhost'; # 權(quán)限全開

mysql> grant select on *.* to 'test1'; # 開部分權(quán)限,給test1用戶賦予查詢所有數(shù)據(jù)庫所有表的權(quán)限

mysql> flush privileges; # 賦權(quán)立馬生效

# 查看用戶權(quán)限

mysql> show grants for 'admin'@'localhost';

操作文件夾(庫)

操作

命令

創(chuàng)建數(shù)據(jù)庫

create database 數(shù)據(jù)庫名 charset utf8 ;

刪除數(shù)據(jù)庫(千萬別用)

drop database 數(shù)據(jù)庫名;

查看所有數(shù)據(jù)庫

show databases;

查看當(dāng)前數(shù)據(jù)庫

select database();或者status;

連接數(shù)據(jù)庫

use 數(shù)據(jù)庫名

修改數(shù)據(jù)庫

alter database 數(shù)據(jù)庫名 charset latin1;

進(jìn)入到其他數(shù)據(jù)庫時使用:? use 數(shù)據(jù)庫名

操作文件(表)

操作

命令

創(chuàng)建數(shù)據(jù)表

create table 表名([字段1] [類型],[字段2] [類型]);

刪除數(shù)據(jù)表

drop table 表名;

清空表

delete from 表名;或者 Truncate 表名;

查看表的結(jié)構(gòu)

desc 表名; 或者 describe 表名 ;

查看建表語句

show create table 表名;

重命名數(shù)據(jù)表

aletr table 現(xiàn)表名 rename 新表名;

增加列

alter table 表名 add 列名 列類型 ;

刪除列

alter table 表名 drop 列名;

重命名列

alter table 表名 change 現(xiàn)列名 新列名 類型;

修改列的屬性

alter table 表名 modify 列名 新屬性;

添加索引

alter table 表名 add index 索引名(字段名 1,字段名 2…);

查看索引

show index from 表名;

刪除索引

alter table 表名 drop index 索引名

表中的每一行叫做一個字段

操作數(shù)據(jù)

操作

命令

增加

insert into 表名 values(字段1),(字段2),(字段3);字段內(nèi)部數(shù)據(jù)以,隔開

查看

select 內(nèi)容 from 表名 ;

修改

update 表名set 修改的內(nèi)容 where 條件 ;

刪除

delete from 表名 where 條件 ;

清空表

delete from 表名; truncate table 表名;(比第一條運(yùn)行速度快)

刪除字段自增長

alter table 表名 change 列名 列名 類型 ;注意列名稱要重復(fù)一次,即需要將列的名稱寫兩次

增加字段自增長

alter table 表名 modify 列名 類型 auto_increment;

(反方向)alter table 表名 change 列名 列名 類型auto_increment;

修改自增長起始值

alter table 表名 auto_increment=[value];

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的python教学数据库_Python学习之数据库初识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。