MySQL簡單操作(內置Gif動圖)

什麼是MySQL

MySQL結構分爲字段

簡單打個比方

== 文件夾
在這裏插入圖片描述
== Excel文件
在這裏插入圖片描述
字段 == 列名稱
在這裏插入圖片描述
字段其實就是對某數據的概括,比如上面的idnameageschoolsex就是字段,其實字段還有一些約束(分類),

比如id是存序號的,那麼id就是整型;name是存字符串的,那麼name就是字符型;

數據庫名字、表名字、字段名字可以隨意改

由此我們可用知道

1. 一個數據庫可以含有多個表
2. 一個表可以含有多個字段

怎麼建立一個數據庫

  1. 建立數據庫首先要有需求
  2. 要先設計好表結構
    下面我已多種軟件(方式)演示一遍怎麼建立一個簡單學生信息數據庫
    需求:存儲學生基本信息
    表結構
字段名 存儲內容 字段類型
id 學號 int(10)
name 姓名 varchar(10)
sex 性別 varchar(1)
school 學院 varchar(20)

字段類型就是約束,int代表整形varchar代表字符串(字)(10)代表數字最多是10位數

開始之前

1. 任何電腦有關的命令都要使用英文字符,切換點shift就可以了

字符 英文字符 中文字符
逗號 ,
.
單引號 '
雙引號 "
冒號 :

中英文字符看起來有點相似,但在電腦中是絕對不同的,寫錯就會報錯

2. 基本命令的解釋

操作 對應命令 解釋
顯示你的所有數據庫 show databases; 加個S
創建一個新的數據庫(創建空文件夾) create database student; 加紅的名字是可以改的
進入數據庫(進入文件夾) use student;
創建數據庫表 create table info(id int(10) primary key , name varchar(10)); 這條代碼是可以分行寫的,見下面git圖
顯示數據庫表結構 desc info; 列出字段的約束
插入一條數據 insert into info (id,name,sex,school) values(17,"Lammu",,光電); 刪除線的可以省略
顯示數據庫表的所有數據 select * from info;

Mysql 5.x Command Line 下 建數據庫(sudent),表(info)

動圖點擊圖片就能重頭播放!!!

建表

如果開始菜單是win10風格的可以用小娜搜索mysql

在這裏插入圖片描述

常見錯誤

1.中文亂碼

數據庫編碼格式不是utf-8
查看編碼格式,輸入下面命令:

show variables like "character%";

在這裏插入圖片描述

我在window下沒遇到過這問題,據說改下文件參數就行了

2.Error

檢查一下命令有沒有輸錯,或者數據庫或表本來都存在了,你再建一個同名的就會報錯了,和建文件一個道理

Navicat for Mysql 下 建數據庫(sudent),表(info)

在這裏插入圖片描述

用Python 插入數據

需要一點編程基礎

命令:

import random 
import pymysql.cursors
connection = pymysql.connect(host='localhost',
                             user='root',
                             password='test;',   ##這裏改成你們的密碼
                             db='student',       ##改成你們對應的數據庫名字
                             charset='utf8mb4',  ##這個一般不用改,可能會報錯
                             cursorclass=pymysql.cursors.DictCursor)

id = 1815080188
name = ['趙', '錢', '孫', '李', '周', '吳', '鄭', '王', '馮', '陳', '褚', '衛', '蔣', '沈', '韓', '楊', '朱', '秦', '尤', '許', '何', '呂', '施', '張', '孔', '曹', '嚴', '華', '金', '魏', '陶', '姜', '戚', '謝', '鄒', '喻', '柏', '水', '竇', '章', '雲', '蘇', '潘', '葛', '奚', '範', '彭', '郎', '魯', '韋', '昌', '馬', '苗', '鳳', '花', '方', '俞', '任', '袁', '柳', '酆', '鮑', '史', '唐', '費', '廉', '岑', '薛', '雷', '賀', '倪', '湯', '滕', '殷', '羅', '畢', '郝', '鄔', '安', '常', '樂', '於', '時', '傅', '皮', '卞', '齊', '康', '伍', '餘', '元', '卜', '顧', '孟', '平', '黃', '和', '穆', '蕭', '尹', '姚', '邵', '湛', '汪', '祁', '毛', '禹', '狄', '米', '貝', '明', '臧', '計', '伏', '成', '戴', '談', '宋', '茅', '龐', '熊', '紀', '舒', '屈', '項', '祝', '董', '梁', '杜', '阮', '藍', '閔', '席', '季', '麻', '強', '賈', '路', '婁', '危', '江', '童', '顏', '郭', '梅', '盛', '林', '刁', '鍾', '徐', '邱', '駱', '高', '夏', '蔡', '田', '樊', '胡', '凌', '霍', '虞', '萬', '支', '柯', '昝', '管', '盧', '莫', '經', '房', '裘', '繆', '幹', '解', '應', '宗', '丁', '宣', '賁', '鄧', '鬱', '單', '杭', '洪', '包', '諸', '左', '石', '崔', '吉', '鈕', '龔', '程', '嵇', '邢', '滑', '裴', '陸', '榮', '翁', '荀', '羊', '於', '惠', '甄', '麴', '家', '封', '芮', '羿', '儲', '靳', '汲', '邴', '糜', '松', '井', '段', '富', '巫', '烏', '焦', '巴', '弓', '牧', '隗', '山', '谷', '車', '侯', '宓', '蓬', '全', '郗', '班', '仰', '秋', '仲', '伊', '宮', '寧', '仇', '欒', '暴', '甘', '鈄', '厲', '戎', '祖', '武', '符', '劉', '景', '詹', '束', '龍', '葉', '幸', '司', '韶', '郜', '黎', '薊', '薄', '印', '宿', '白', '懷', '蒲', '邰', '從', '鄂', '索', '鹹', '籍', '賴', '卓', '藺', '屠', '蒙', '池', '喬', '陰', '鬱', '胥', '能', '蒼', '雙', '聞', '莘', '黨', '翟', '譚', '貢', '勞', '逄', '姬', '申', '扶', '堵', '冉', '宰', '酈', '雍', '舄', '璩', '桑', '桂', '濮', '牛', '壽', '通', '邊', '扈', '燕', '冀', '郟', '浦', '尚', '農', '溫', '別', '莊', '晏', '柴', '瞿', '閻', '充', '慕', '連', '茹', '習', '宦', '艾', '魚', '容', '向', '古', '易', '慎', '戈', '廖', '庾', '終', '暨', '居', '衡', '步', '都', '耿', '滿', '弘', '匡', '國', '文', '寇', '廣', '祿', '闕', '東', '毆', '殳', '沃', '利', '蔚', '越', '夔', '隆', '師', '鞏', '厙', '聶', '晁', '勾', '敖', '融', '冷', '訾', '辛', '闞', '那', '簡', '饒', '空', '曾', '毋', '沙', '乜', '養', '鞠', '須', '豐', '巢', '關', '蒯', '相', '查', '後', '荊', '紅']
school = ['光電信息與計算機工程學院','能源與動力工程學院 ','管理學院','機械工程學院','外語學院','環境與建築學院','出版印刷與藝術設計學院','醫療器械與食品學院','理學院','材料科學與工程學院','音樂系']
sex = ['男','女']

R = random.randint

with connection.cursor() as cursor:
    for i in range(100):
        sql = "insert into info(id, name, sex, school)values(%s, %s, %s, %s)"
        cursor.execute(sql, (id, name[R(0,len(name)-1)], sex[R(0,1)], school[R(0,len(school)-1)]))
        connection.commit()
        id += 1
connection.close()

運行過程
在這裏插入圖片描述

常見問題

1.爲什麼我Spyder打開界面和你的不一樣

這個界面是可調的

2.爲什麼我運行時會有很多窗口彈出來,和你的不一樣?

這個軟件我用很久了,一些窗口一次之後就不再顯示了

2.爲什麼我運行時有一些紅色的輸出(Error)

  1. ModuleNotFoundError: No module named 'pymysql.cursors'
    這個第三方庫你沒有,需要安裝
pip install pymysql

在這裏插入圖片描述
2. Mysql連接出錯
可能是密碼、也可能是編碼出現問題,這個不太好說

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章