1.開啓服務器python
··windows系統:mysql
方法1.搜索服務,找到mysql並開啓.sql
方法2.若是安裝的是5.7版本,cmd中輸入:數據庫
net start MySQL57
··Mac系統:windows
系統偏好設置開啓mysql,而後命令行運行如下代碼出現base字樣便可:bash
source .bash_profile
2.鏈接服務器: 服務器
mysql -uroot -p密碼
3.修改登陸密碼:工具
set password for root@localhost = password("新密碼"); 好比:set password for root@localhost = password("abcd");
4.離開服務器spa
exit;
注意:mysql語句在命令行操做必定要加分號,在navicat軟件中能夠不加分號,在mycli中也可不加。命令行
1.查看全部數據庫:
show databases;
2.新建數據庫:
(注意不能重名,由字母 數字 下劃線 @ #$組成,首字母不能是下劃線和$ ,不能有空格和其餘特殊字符。而且最好指明數據庫的格式,如下爲5.7版本通用格式,以避免後期維護。)
create database 庫名;
create database 庫名 charset utf8mb4 collate utf8mb4_general_ci;
3.查看數據庫語句:
show create database 庫名;
4.進入數據庫:
use 庫名;
5.刪庫(要謹慎):
drop database 庫名;
1.查看全部表
show tables;
2.建表
create table 表名字(列名 數據類型, ... ) charset=utf8;
3.查看建表語句
show create table 表名;
4.以表格方式查看錶
describe 表名; 或 desc 表名;
5.刪表
drop table 表名;
int unisgned指明無符號
TINYINT
(1個字節)SMALLINT
(2個字節)MEDIUMINT
(3個字節)INT
和INTEGER
(4個字節)BIGINT
(8個字節)
FLOAT(4字節 適合小於10位)
DOUBLE(8字節 適合大於10位)
DATE (4字節 如表示年月日)
DATETIME (8字節 如表示年月日時分秒)
TIMESTAMP (若是常常插入或者更新日期爲當前系統日期,或者全球化系統 ,最小值時間戳爲19700101000001)
TIME (3字節 如只需時分秒)
YEAR (1字節)
CHAR(M) :M字節數爲最大字節數 0~255之間
VARCHAR(M):字符串長度常常變化用varchar 0~65535之間
TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT
檢索效率:char>varchar>text
char:存儲定長數據很方便,CHAR字段上的索引效率級高,必須在括號裏定義長度,能夠有默認值,好比定義char(10),那麼不論你存儲的數據是否達到了10個字節,都要佔去10個字節的空間(自動用空格填充).
varchar:存儲變長數據,但存儲效率沒有CHAR高,必須在括號裏定義長度,能夠有默認值。保存數據的時候,不進行空格自動填充,並且若是數據存在空格時,當值保存和檢索時尾部的空格仍會保留。另外,varchar類型的實際長度是它的值的實際長度+1,這一個字節用於保存實際使用了多大的長度。
text:存儲可變長度的非Unicode數據,最大長度爲2^31‐1個字符。text列不能有默認值,存儲或檢索過程當中,不存在大小寫轉換,後面若是指定長度,不會報錯誤,可是這個長度是不起做用的,意思就是你插入數據的時候,超過你指定的長度仍是能夠正常插入。
結論:
·常常變化的字段用varchar
·知道固定長度的用char, 如身份證
·能用varchar的地方不用text
·能用數字類型字段的儘可能用數字類型而不是字符型,由於字符型每次都逐個比較,數值型只比較一次就夠了
有:NULL / NOT NULL ,default , primary key , unique key , atuo_increment , comment
1. NULL:空屬性很重要,空數據沒有意義
2. default:默認值
3. primary key:主鍵,一張表只能有1個主鍵,不能重複,惟一,能夠是複合主鍵
··添加主鍵:
create table 表名(id int primary key comment "用戶id",..); create table 表名(... ,primary key(user_id,article_id));
··追加主鍵:
alter table 表名 add primary key(user_id,article_id);
··刪除主鍵:
alter table 表名 drop primary key;
4. unique key:惟一值容許自動爲空,添加跟追加用法與主鍵同樣
5. atuo_increment :自增加,前提自身是一個索引,一張表只能有一個自增加:
create table 表名(id int primary key auto_increment comment "用戶id",..);
6. comment:列描述沒有實際含義,只是方便了解。
pip install mycli mycli -uroot -p密碼
後面操做跟mysql是同樣,優勢在於mycli使用時有提示,相對方便。