標籤:lin epo 配置 sign 定義 控制 儲存 insert ####
裝包啟服務後會自動產生相關的設定檔
首次運行時會自動產生 root 初始秘密
初始密碼在服務記錄檔中尋找 grep -i password /var/log/mysql.log
進去mysql
mysql -hlocalhost -uroot -p初始密碼
set global validate_password_policy=0;
#修改密碼預設等級為0
#0為長度 , 1為字母長度符號,2為字母長度符號,字典檔案
set global validate_password_length=6;
#修改密碼預設長度要求為6
alter user [email protected]"localhost" identified by ‘123456‘;
#修改密碼
命令列指令為臨時有效,將命令寫入設定檔/etc/my.cnf永久生效
寫入完成後重啟服務即可生效
################################################################
名詞解釋
DB,DataBase
資料庫,依照某種資料模型進行組織並存放到儲存空間的資料集合
DBMS,DataBase Management System
資料庫管理系統,用來操作和管理資料庫的大型伺服器軟體
DBS, DataBase System
帶有資料庫,資料庫管理系統的伺服器
##################################################################
sql命令的分類
DDL 資料定義語言 (Data Definition Language)
(create alter drop)
DML 資料操作語言
(insert update delete)
DCL 資料控制語言
(grant revoke)
DTL 資料事物語言
(commit rollback savepoint)
###################################################################
2建立庫
create database 庫名;
#建立庫
show databases;
#查看已有庫
drop database 庫名;
#刪除庫
select database();
#查看當前所在的庫
use 庫名;
#進入庫
##################################################################
建表
create table 庫名.表名(
欄位名 類型(寬度) 約束條件,
欄位名 類型(寬度) 約束條件,
...
...
);
create table gamedb.stu(
name char(10), #字元(10)個
age int #數值
);
insert into 庫名.表名 values(值列表);
#插入表記錄
select * from 庫名.表名;
#查看錶記錄
delete from 庫名.表名;
#刪除表記錄
desc 庫名.表名;
#查看錶結構
drop table 庫名.表名;
#刪除表
##################################################################
mysql資料類型
數值型:整形、浮點型
整型:根據儲存數值的範圍整數型別的又分為:
類型 tinyint smallintmediumintintbigint
用途 微小 小 中 大 特大
大小 1位元組 2位元組 3位元組 4位元組 8位元組
分為有符號無符號,範圍分別為:
有符號 -128~27 -32768~2767 -2^23~2^23-1 -2^31~2^31-1 -2^63~2^63-1
無符號 0~255 0~65535 0~2^24-1 0~2^32-1 0~2^64-1
建立時使用 unsigned 修飾時,對應的欄位只儲存正數
寬度僅是顯示寬度,儲存數值的大小由類型決定
使用 zerofill 時,填0代替空格補位
#例如: age int(3)
insert in to a values(3)
資料庫顯示為 003
數值超出範圍時,報錯
浮點型:根據儲存的範圍分為單精確度和雙精確度:
單精確度 float(n,m)4位元組
雙精確度 double(n,m)8位元組
#n表示總位元,m表示小數位的位元
#例如:float(5,2) 最大為999.99最小為-999.99
數實值型別的寬度是顯示寬度不能夠限制給欄位的賦值的大小,大小由欄位類型決定。
################################################################
字元型:
定長: char(字元數)
#最大長度255字元,不夠指定字元數時在右邊用空格補齊,字元數斷超出時,無法寫入資料。
變長:varchar
#按資料實際大小分配儲存空間,字元數斷超出時,無法寫入資料。
大文本類型:text/blob
#字元數大於65535儲存時使用。
實際生產環境中使用 char 的會相對較多,因為 varchar 會佔用一部分CPU資源來計算儲存大小。
日期時間型
年 year YYYY 2017
#year預設用4為數字表示,當只用2位元字賦值時,01~69視為2000~2069
70~99時為1970~1999
日期 date YYYYMMDD20171220
時間 time HHMMSS155145
日期時間
datetime YYYYMMDDHHMMSS
timestamp YYYYMMDDHHMMSS
datetime 當沒有為他賦值時,會顯示為空白
timestamp 當沒有為他賦值時,會使用系統目前時間
###################################################################
now()
#當前系統的時間
year()
#擷取資料中的年
day()
#擷取資料中的天
date()
#擷取資料中的日期
time()
#擷取資料中的時間
###################################################################
枚舉類型:欄位的值只能在列舉的範圍內選擇
欄位名 enum(值列表)
#單選,從給定值集合中選擇單個值。
欄位名 set(值列表)
#多選,從給定值集合中選擇一個或多個值。
###################################################################
設定欄位的約束條件:作用限制如何給欄位賦值。
Null 是否允許為空白 不允許則在類型後面跟NOT Null
Default 設定預設值,預設為NULL 類型後面跟default
###################################################################
修改表結構
mysql> alter table 表名 執行動作;
add 欄位名 類型(寬度) 約束條件,
#添加新欄位,預設在最後。
add 欄位名 類型(寬度) 約束條件 first;
#所有欄位的前面
add 欄位名 類型(寬度) 約束條件 after 欄位名;
#在什麼欄位後面添加
drop 欄位名;
#刪除欄位
modify 欄位 類型(寬度) 約束條件
#修改欄位類型
change 原欄位名 新欄位名 類型(寬度) 約束條件
#修改欄位名
alter table 原表名 rename 新表名;
#修改表名
mysql資料庫基本操作(表結構)