linux環境安裝mysql,以及mysql基本的終端操作命令


linux環境下安裝mysql服務器、客戶端
mysql簡單的終端操作指令(使用數據庫、簡單的增刪改查和備份恢復)
1 SQL:

Structured Query Language
結構化查詢語言。
運用sql語句,可以對關系型數據庫進行操作。
目前常見的關系型數據庫有:
MySQL
oracle
SQL Server
sqlite




2 sql語句主要分為:
DQL:數據查詢語言 select
DML:數據操作語言(增刪改) insert、update、delete
TPL:事物處理語言 begin、transaction、commit、rollback
DCL: 數據控制語言 grant、revoke
DDL: 數據定義語言 create、drop
CCL: 指針控制語言 declare、cursor




3 在linux系統中安裝MySQL
3.1 安裝服務器端:
服務器用於接收客戶端的請求,執行sql語句和管理數據庫

終端執行命令來安裝mysql的服務器:
sudo apt-get install mysql-server

終端開啟mysql服務器的服務:
sudo service mysql start

停止服務:
sudo service mysql stop

重啟服務:
sudo service mysql restart

3.2 安裝客戶端:
終端命令:
sudo apt-get install mysql-client

查看幫助文檔:
mysql --help

客戶端連接mysql服務器:
mysql -u 用戶名 -p 密碼
或者: mysql -u 用戶名 -p 等待提示密碼

連接成功后退出連接:
quit;
或者 exit;


4 linux下mysql命令行基本操作:
4.1 登錄:
登錄mysql: mysql -u 用戶名 -p 密碼
退出登錄: quit; 或者 exit;

登陸后:
查看版本: select version();
查看當前sql服務器時間: select now();

修改輸入提示符:
默認的輸入提示符為 mysql>
prompt \D 修改為當前完整時間
prompt \d 修改為當前數據庫名稱
prompt \u 使用用戶名
prompt \h 使用主機名稱
也可以自己指定:
prompt python> 將輸入提示符修改為 python>


4.2 數據庫層次操作(確保登錄客戶端):

查看所有數據庫:
show databases;

使用數據庫:
use 數據庫名;

查看當前使用數據庫:
select database();

創建數據庫:
create database 數據庫名;

刪除數據庫:
drop database 數據庫名;

查看當前已有數據庫的創建語句:
show create database 數據庫名;

4.3 數據表層次操作(確保使用數據庫):
查看當前庫中所有表:
show tables;

查看表結構:
desc 表名;

創建表:[]內的內容可以沒有 也可以有
create table 表名(
字段1 類型 [約束],
字段2 類型 [約束],
字段3 類型 [約束],
字段4 類型,
字段5 類型
[, 主鍵或外鍵約束 ]
);
  例如: 創建一個表students,里面包括id,name,gender
create table students(
id int unsigned primary key auto_increment,
              -- id 無符號整數 主鍵 自動增長

name varchar(20) not null default "",
              -- name 可變長度字符串 非空 默認""

gender enum("男", "女","女博士","保密") default "保密"
              -- gender 枚舉類型 只能是這幾個值 默認保密

);

查看已有表的創建語句:
show create table 表名;

修改表:
添加字段:
alter table 表名 add 字段名 類型;

修改字段名:
alter table 表名 change 原字段 新字段名 約束;

修改字段類型和約束:
alter table 表名 modify 字段名 類型 約束;

刪除字段:
alter table 表名 delete 字段名;

刪除表:
drop table 表名;

4.4 表的簡單增刪改查語句:
增加數據:[] 內的內容可以省略
全插入:
insert [into] 表名 values( 值1, 值2 ,值3.... ,值n );
          -- 要求值和字段一一對應,所有字段都被賦值

也可以插入多條數據,values之間用,隔開:
insert [into] 表名 values( 值1, 值2 ,值3.... ,值n ),( 值1, 值2 ,值3.... ,值n );

部分插入:
insert [into] 表名 (列1,列2) values( 值1,值2 );
         -- 給指定的字段添加值,值和字段一一對應

也可以插入多條數據:
insert [into] 表名 (列1,列2) values( 值1,值2 ),( 值1,值2 ),( 值1,值2 );

查詢數據:
查詢所有列:
select * from 表名;

查詢指定列:
select 列1,列2,列3 from 表名;

按條件查詢:
select 列1,列2 from 表名 where 條件;
比如:
select * from students where id = 1;
            -- 查詢students表中id是1的數據


修改數據:
修改表中所有數據:
update 表名 set 列1 = 值1 , 列2 = 值2 ... ;

指定修改數據:
update 表名 set 列1 = 值1 , 列2 = 值2 ... where 條件 ;
例如:
update students set name = "哈哈" where id = 1;
修改students表中id是1 的 數據 name改為哈哈

刪除數據:
清空表內數據:
delete from 表名;

刪除部分數據:
delete from 表名 where 條件;
例如:
delete from students where id = 1;
刪除students表中 id 為1 的數據

邏輯刪除(本質是修改):
update 表名 set isdelete = 1 where 條件


4.5 數據庫備份和恢復:
備份:
mysqldump -u root -p 數據庫名 > 備份文件名稱.sql;

恢復:
連接mysql,創建一個新的數據庫后退出連接執行如下命令:
mysql -u root -p 新數據庫名 < 備份文件名.sql


5 mysql中的數據類型和約束
數據類型:
整數: int 、 bit
小數: decimal(5,2) 共存5位,小數占2位
字符串: varchar(20) 可變長度字符串,最多能存20位
char(5) 固定長度字符串,不足5位自動補空格
text 大文本 字符大於4000時推薦使用
日期時間:date、time、datetime
枚舉類型(enum)

對於圖片 音頻 視頻等文件 不存處在數據庫中,而是上傳到某個服務器,然后在標中存這個文件的保存路徑


數值類型(常用):
類型 字節大小 有符號范圍(Signed) 無符號范圍(Unsigned)
TINYINT 1 -128 ~ 127 0 ~ 255
SAMLLINT 2 -32768 ~ 32767 0 ~ 65535
MEDIUMINT 3 -8388608 ~ 8388607 0 ~ 16777215
INT/INTEGER 4 -2147483648 ~2147483647 0 ~ 4294967295
BIGINT 8 -9223372036854775808 ~ 9223372036854775807 0 ~ 18446744073709551615

字符串:
類型 字節大小 示例
CHAR 0-255 類型:char(3) 輸入 'ab', 實際存儲為'ab ', 輸入'abcd' 會報長度過長的錯誤
VARCHAR 0-255 類型:varchar(3) 輸 'ab',實際存儲為'ab', 輸入'abcd',會報長度過長的錯誤
TEXT 0-65535 大文本

日期時間類型:
類型 字節大小 示例
DATE 4 '2020-01-01'
TIME 3 '12:29:59'
DATETIME 8 '2020-01-01 12:29:59'
YEAR 1 '2017'
TIMESTAMP 4 '1970-01-01 00:00:01' UTC ~ '2038-01-01 00:00:01' UTC

約束:
主鍵: primary key
非空: not null
唯一: unique
默認: default
外鍵: foreign key



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM