mysql資料庫基本操作(表結構)

來源:互聯網
上載者:User

標籤: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資料庫基本操作(表結構)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.