MySQL 1 對錶及資料的基本操作

2021-07-31 15:48:55 字數 4955 閱讀 5688

yum install mysql-server mysql mysql-devel
/***************************連線mysql:****************************/

/*本地連線*/

mysql -uroot -p //以root使用者驗證密碼的方式登陸(-p表示password)

/*遠端連線*/

mysql -h [ip] -uroot -p

/***************************退出mysql:****************************/

quit

mysql配置檔案儲存的目錄在/etc/my.cnf,實際上我們可以在my.cnf這個配置檔案中修改mysql的預設儲存位置。當新建乙個資料庫檔案,其資料儲存在/var/lib/mysql/目錄下,比如一些資料庫資訊,表資訊等等。mysql的日誌檔案在:/var/log/mysqld.log下。mysql支援網路服務,預設為tcp服務,繫結的預設埠為3306,可以通過埠連線到mysql服務。

1) data definition language(ddl)

create-在資料庫中建立物件

alter-修改資料庫結構

drop-刪除物件

rename-重新命名物件//錯誤

2) data manipulation language(dml)

select-從資料庫中獲取資料

insert-向乙個表中插入資料

update-更新乙個表中的已有資料

delete-刪除表中資料

3) data control language(dcl)

grant-賦予乙個使用者對資料庫或資料表等的指定許可權

revoke-刪除乙個使用者對資料庫或資料表等的指定許可權

4) transacion control(tcl)

commit-儲存資料操作

sayepoint-為方便rollback標記乙個事務點

rollback-從最後一次commit中恢復到提交前狀態

show databases;//檢視資料庫

show tables;//檢視表

show tables from [資料庫名];

use [資料庫];//選擇資料庫

select version();//檢視資料庫版本

select current_date();//檢視當前粗略時間

select now();//檢視當前精確時間

/*建立資料庫*/

create databases [要建立的資料庫名稱];

/*刪除資料庫*/

drop databases [要刪除的資料庫名稱];

/*常用資料型別(各個資料庫支援)*/

integer(size) smallint(size) tinyint(size) //儲存整數資料

decimal(size, d) numeric(size, d) //儲存浮點數資料

char(size) //儲存固定長度字串

varchar(size) //儲存可變長度字串

date(yyyymmdd) //儲存日期

/****************************建立/刪除表*****************************/

/*建立表*/

create table [表名](

[屬性名] [資料型別] not null;//以後用select values()時,該欄位非空

[屬性名] [資料型別] (null);//null可寫可不寫

...[屬性名] [資料型別];

)/*檢視表屬性*/

describe [表名];//或者用desc [表名];檢視表結構,屬性等等

或show columns from [表名];

/*刪除表*/

drop table [表名];//刪除表

/******************************修改表*******************************/

/*重新命名表名:*/

alter table ic_course rename course;//無法重新命名庫,但可以重新命名表

/*向表中新增一列:*/

alter table ic_course add [column] link varchar(100) [first | after [屬性名]];//first指定插入首列 after指定插入到指定的屬性名後

/*向表中新增多列:*/

alter table ic_course add [column] ([屬性名1] [資料型別], [屬性名2] [資料型別], ...)//新增多列與新增單列的區別就是新增多列則不能指定列順序

/*刪除表中一列:*/

alter table ic_course drop [column] link;//新增和刪除語句中的column可加可不加,建議加上

/*修改乙個列的資料型別:*/

alter table ic_course modify teacher varchar(100);

/*修改乙個列的字段為空*/

alter table ic_course modify teacher varchar(100) null;

/*重新命名乙個列:*/

alter table ic_course change column teacher lecture varchar(100); //將teacher列重新命名為lecture,並宣告資料型別為varchar(100).

/***************************向表中插入資料***************************/

insert into [表名] values(值1,值2,...);

或insert into [表名](列1,列2..) values(值1,值2,...); //也就是說第一種插入是對應所有屬性插入,第二種則選擇性的插入.

ps:如果表中有一列比如值1的屬性為auto_increment,即不需要我們為其插入的資料,我們可以insert into [表名] values(null/default, 值2, 值3...);把值1設定為null或default,系統會自動插入

insert into [表名] set (列1)=值1, (列2)=值2, (列3)=值3, ..; //區別於上面兩種插入,這種插入每次只能插入一條記錄

insert into [表名] select [屬性] from [表名] where [條件]; //可以將我們查詢的結果寫入到資料表中

ps:insert into test(age) select age from student where id > 30; //如果test後未指定age,那麼在select的時候也應該對應為*,而非指定乙個特定屬性

insert into tdb_goods_cates(cates_name) select goods_cate from tdb_goods group by goods_cate;

/*************************查詢/刪除/更新資料**************************/

/*查詢資料*/

select [distinct] [列1,列2,...] from [表名];

或select [distinct] * from [表名]; //distinct引數表示返回的結果唯一化(去掉重複的),該引數根據個人需要可有可無

select [屬性1] from [表名] group by [屬性1]; //對屬性1進行分組,類似於去掉重複然後輸出查詢結果

select * from [表名] where [條件1] and [條件2];

select * from [表名] where [條件1] or [條件2];

select * from [表名] order by [列名]; //對某列由小到大排序輸出結果

select * from [表名] order by [列名] desc; //對某列由大到小排序輸出結果

/*按條件查詢*/

select [列名] from [表名] where [列] [運算子] [值];

ps:select * from course where course_name = 'gnome';

運算子:

= [等於]

<> [不等於]

> [大於]

< [小於]

>= [大於等於]

<= [小於等於]

between [在某範圍內]

like [搜尋某種模式]

/*刪除資料:*/

delete

from [表名] where [列] [運算子] [值];

或delete

from [表名]; //刪除整個表的資料

/*更新一條記錄*/

update [表名] set [列名] = [新值] where [列名] = [值];

ps:update course set id = 3 where course_name = 'sjjg';

一般情況下where後的判定條件是唯一記錄的,不能說篩選出多條記錄,然後多條記錄的某乙個資料都發生改變.比如上面這個例子實際上不合理,因為可能乙個資料庫中有不同老師的sjjg,所以一般表中的id是唯一確認的,就是用來放在where語句中

MySQL 1 資料庫的基本操作

啟動mysql net start mysql停止服務 net stop mysql1.1 建立資料庫 1.1.1基本語法 建立資料庫 create database if not exists 資料庫名 default character set 字符集名 default collate 校對規則...

MySql 1 運算元據庫和資料表

1 數值 型別用途 說明tinyint 十分小的資料 1個位元組 smallint 較小的資料 2個位元組 mediumint 中等大小的資料 3個位元組 int 常用 標準的整數4個位元組 bigint 較大的資料 8個位元組 float 浮點數4個位元組 double 浮點數8個位元組 deci...

MySQL1 資料庫MySQL的簡單的介紹與安裝

1.mysql 計算機 二進位制資料 2.2 資料如何儲存?賬號密碼該怎麼儲存?能存到excel?可以存.會有什麼問題?安全。儲存限制。2.3 資料庫管理系統 dbms rdbms 關係型資料庫 oracle mysql mssql pgnosql 非關係型資料庫 mongodb esredis 雲...