Lunix下的mysql

1.安裝mysql

安裝mysql
yum -y install mysql mysql-dev mysql-server
啟動(dòng)mysql
service mysqld restart
重啟之后生效
chkconfig mysqld on

2.登錄

設(shè)置密碼
mysqladmin -u 用戶名 password '要修改的密碼'
登錄
mysql -u 用戶 -p//-p:通過(guò)密碼登錄,會(huì)提示你輸入密碼
退出
quit;

3.數(shù)據(jù)庫(kù)操作

查看數(shù)據(jù)庫(kù)
show databases;
創(chuàng)建數(shù)據(jù)庫(kù)
create database XX;

4.鏈接到Navicat

此時(shí)數(shù)據(jù)庫(kù)已經(jīng)安裝完成了,但是此時(shí)只有本機(jī)能訪問(wèn),局域網(wǎng)內(nèi)其他用戶無(wú)法訪問(wèn)到。

切入mysql數(shù)據(jù)庫(kù)
mysql> use mysql;
查詢用戶表信息
mysql> select host,user,password from user;
刪除無(wú)用的用戶
delete from user where password='';

再次查詢,此時(shí)只有一個(gè)用戶了,綁定機(jī)器名是localhost,也就是只有本機(jī)下可以訪問(wèn)到。

將localhost 修改為%(通配)
mysql> update user set host='%';
修改后需要刷新權(quán)限
mysql> flush privileges;

此時(shí)關(guān)閉防火墻后局域網(wǎng)內(nèi)其他用戶也可以訪問(wèn)了

5. 建表

Create table 表名(
字段名 數(shù)據(jù)類型 約束,
字段名 數(shù)據(jù)類型 約束,
……
字段名 數(shù)據(jù)類型 約束
)數(shù)據(jù)庫(kù)引擎 默認(rèn)字符編碼;

6.查詢

Select 字段列表 from 表名;

7.刪除

Delect from 表名//項(xiàng)目中是禁止使用delete語(yǔ)句

Tip:如果使用delete語(yǔ)句且并沒(méi)有見到where一定要注意?。?!

8.條件

where 字段名 關(guān)系運(yùn)算符 值 

9.修改

update 表名 字段名 = 字段值,字段名 = 字段值(原則上也要加where條件)

10.添加

insert into 表名(字段列表) values (值列表);

11.數(shù)據(jù)庫(kù)三范式

(1)原子性:列不可再分
(2)必須有主鍵
(3)有關(guān)聯(lián)的時(shí)候用外鍵,不再建立重復(fù)的字段
Tip:但現(xiàn)在許多互聯(lián)網(wǎng)的項(xiàng)目基本都不遵守三范式。

12.完整性約束

(1)主鍵

每一條記錄的一個(gè)身份證號(hào)碼,不重復(fù),主鍵會(huì)有一個(gè)默認(rèn)的索引,知道了主鍵就可以直接鎖定該行數(shù)據(jù)

primary key

雙主鍵:兩個(gè)字段組合作為主鍵單獨(dú)一個(gè)可以重復(fù),組合之后不能重復(fù)

CONSTRAINT 主鍵名 primary key(字段名,字段名)
(2)非空
not null
(3)默認(rèn)值
default 默認(rèn)值
(4)唯一約束
unique
(5)檢查約束

檢查字段的值
mysql檢查約束可以創(chuàng)建,但是沒(méi)有作用

check (條件)
(6)外鍵
foreign key (字段) references (被參照的字段)

tip:因?yàn)閿?shù)據(jù)庫(kù)引擎的關(guān)系,建表時(shí)候應(yīng)設(shè)置引擎,外鍵才起效

engine=innodb default charset=utf8
(7)自增

為了讓數(shù)據(jù)有唯一性,很多情況下,主鍵都是不參與業(yè)務(wù)的

auto_increment

13.分頁(yè)查詢

Limit 后面跟隨兩個(gè)參數(shù):
1從哪開始,下標(biāo)是0
2查詢多少條

select * from student limit 3,2;

14.函數(shù)

自定義函數(shù)
create function 函數(shù)名(參數(shù)列表)
returns 返回值類型
begin
    Declare 變量名 數(shù)據(jù)類型;
    Set 變量名=變量值;
End
create function fun(cid int)
returns varhar(20)
begin
    declare result varchar(20);
    set result =(select name from classes where id=cid);
    retuen result;
end
rand() 隨機(jī)數(shù)
select rand(1); //返回0~1的隨機(jī)數(shù)
select rand(2); //返回0~2的隨機(jī)數(shù)
sing() 正負(fù):負(fù)數(shù)、0正數(shù)分別返回-1,0,1
sin(x) 求正弦函數(shù)
select sin(radians(30))  //0.5
length(s) 求字符s長(zhǎng)度

15.觸發(fā)器

觸發(fā)事件:insert update delete
觸發(fā)時(shí)間:before after
觸發(fā)器中有兩個(gè)對(duì)象 new old

create trigger delclass
before delete on classes
for each row
begin
    delete from student where c_id = old.id;
end

16.存儲(chǔ)過(guò)程

調(diào)用方便,相當(dāng)于在數(shù)據(jù)庫(kù)里寫方法。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容