liunx中(mysql數據庫的使用)

mysql數據庫是一個很不錯,適合中小型企業的數據庫,實用性很高,而且是開源免費的。

希望大家好好學, 我在聲明一下,一下的所有內容都是我之前一個字一個字記錄下來的,希望大家好好看,沒有抄襲。




mysql的內容

庫管理: 建庫 查庫 刪除庫

表管理: 建表 查表 刪除表

sql查詢

數據的導入導出

用戶的授權和權限的撤銷

數據庫的備份與恢復

binlog日誌 實現增量備份

AD

讀寫分離

mysql集羣

LAMP


service mysqld status 查看服務是否啓動



-------------------------------

mysql


vim /etc/my.cnf 配置文件

ps aux |grep mysqld 查看mysql的安裝信息

cd /var/lib/mysql/ rpm包的mysql 目錄

REFERENCES


登錄mysql -h那個地址的主機 (必須授權之後纔可以遠程地址登錄)

mysql -hlocalhost -uroot -p123


數據庫名字要唯一性

數據庫名區分大小寫

不能用純數字創建庫名

不能用特殊符合創建庫名

不能用關鍵字創建庫名

\c 結束sql的命令 但是一定要在沒有分號的前提下

mysql裏的庫和在系統裏的文件權限是一致的

爲了安全起見 我們可以把mysql用戶的shell改成sbin/nologin 只把他當成一個屬組省得有人用mysql用戶刪除mysql目錄更危險

-------------------------------------

查看庫

show databases;


+--------------------+

| Database |

+--------------------+

| information_schema |

| discuz |

| farm |

| mysql |

| test |

| ucenter |

+--------------------+



test 庫 是公共庫 隨意授予權限

mysql 授權庫 驗證用戶信息 (這個不能刪出)

information_schema 架構信息庫 虛擬庫 (這裏的表不佔用你的磁盤空間 內容存放在內存裏)


[root@xu db1]# vim yg5.

yg5.frm 表結構

yg5.MYD 表中數據文件

yg5.MYI 表中索引信息

-----------------------------------

創建庫


create database studb;


切換庫 使用那個庫

use studb;


查看當前所在的庫

select database();


查看當前登錄的帳號是

select user();


查看用戶的權限

show grants;


ll -d /var/lib/mysql/ 庫的文件夾必須有寫的權限


----------------------------------


刪庫 (直接刪文件,是否是空的)

drop database studb;


刪出表

drop table yg11;


進庫查看錶

show tables;


---------------------------

創建表 (一列 在數據庫裏叫做字段) 字段名 類型 (類型就是比如男女 姓名) 兼值 (約數條件)


create teble db1.xu(

<字段名字> <類型> (寬度) [約束條件],

<字段名字> <類型> (寬度) [約束條件],

<字段名字> <類型> (寬度) [約束條件]

);



---------------------------------------

mysql下的常見類型

數值類型 分爲 ×××(int) 浮點型(float)

字符類型 char(固定長度) varchar(變化的長度) 最大能存255個字符

日期時間類型 year data time datetime

枚舉類型 menu 單選 set 多選


int (3 )這裏的數值 是顯示寬度 和char 的限制不一樣 (顯示寬度不限制字符的長度)

整數位 是小數的是四捨五入保存的

浮點型 是 單單精度浮點數值和雙精度浮點數值


---------------------------------

創建表裏的字段


mysql> create table db1.game(

-> name char(4),

-> level tinyint(3)

-> );


show tables; 查看錶

1字節=8位


----------------------------------

desc game; 查看錶結構


create table a (id int); 創建表

show create table a; 查看創建表過程

---------------------------

字段中插入內容


mysql> insert into db1.game(name,level)

-> values

-> ("ts",0),("swk,300");


查看錶裏的內容

select * from game;


創建有約束條件的表

create table game2(level tinyint unsigned);


----------------------------


create table f(id int(4) zerofill); 用0補位

數字不用框起來

單引號 和雙引號區別

單無所謂

雙裏面有符號或者空格的

----------------------------

浮點型

創建 小數點共7位 小數點是2位

create table gz(gz float(7.2));


----------------------

創建表結構!


顯示現在的日期和時間

select now();


日期時間類型


mysql> create table yg4(

-> name varchar(10),

-> wrok year,

-> birthday date,

-> worktime time,

-> metting datetime

-> );


通過函數 保存現在的時間 到yg4表裏

insert into yg4 values ("jim",now(),now(),now(),now());

查看

select * from yg4;


手動插入

mysql> insert into yg4 values ("tom",1998,17560101,100000,20130218103000);


查看

mysql> select * from yg4;


插入值

mysql> insert into yg4(name,wrok)values("lucy",98);


01-69 是以20開頭的

70-99 是以19開頭的

插入00是錯誤的


---------------------------------------



枚舉類型 (單選,多選)


name char(4)not null,

age tinyint (2)unsigned default 24,

sex enum(“boy”,“gril“,“no”)default “boy”,

loves set (“a”,“b”,“c”,“d”) default “a,b”


---

創建表結構

mysql> create table yg5(

-> name char(4) not null,

-> age tinyint(2) default 24,

-> sex enum("boy","gril") default "boy",

-> loves set("a","b","c","f") default "a,b"

-> );


添加jim

insert into yg5(name)values("jim");


查看

mysql> select * from yg5

-> ;

+------+------+------+-------+

| name | age | sex | loves |

+------+------+------+-------+

| jim | 24 | boy | a,b |

+------+------+------+-------+

1 row in set (0.00 sec)


插入lili

mysql> insert into yg5 values("lili",21,"gril","a");

查看

mysql> select * from yg5


-> ;

+------+------+------+-------+

| name | age | sex | loves |

+------+------+------+-------+

| jim | 24 | boy | a,b |

| lili | 21 | gril | a |

+------+------+------+-------+

2 rows in set (0.00 sec)



-----------------------------------

刪除表中的記錄

delete from a; 這個代表 把a表中所有的內容刪掉(慎用)

加條件的 刪除匹配NULL的值

mysql> delete from yg5 where name="NULL";


刪除NULL值的字段

mysql> delete from yg5 where age is null;


--------------------------------

查看錶結構

mysql> desc yg5;


修改表結構

alter table 數據名,表名 動作;

動作:

add 字段名 類型 (寬度) 約束條件


添加

mysql> alter table yg5 add stu_id char(8) not null,

-> add mail varchar(30) default "[email protected]";

刪出字段

mysql> alter table yg5 drop sex;


添加到第一行

mysql> alter table yg5 add stu_id char(8) not null first;


把QQ添加到sex下

mysql> alter table yg5 add QQ varchar(8) not null after sex;



---------------------------------


修該字段類型

modify

查看錶結構

desc game;


修改類型

mysql> alter table yg5 modify loves set("muisc","football")not null defalut "muisc";


--------------------------

修改字段名

change


修改字段名 把mail 改爲email

mysql> alter table yg5 change mail email varchar(30) default "[email protected]";



------------------------------

修改ro更新表中的記錄 (一定要加上條件)


uptate 表名 set 字段列表 where 條件


修改

mysql> update yg5 set stu_id="88888888" where name="lucy";

修改多個記錄

mysql> update yg5 set stu_id="99999999",QQ="2348444",loves="book,film" where name="lili";


------------------------------------

複製表 (在複製表的時候,原表key字段不會複製到新表)

mysql> create table yg6 select * from yg5;


複製原表結構(空表) 錯誤的查詢 顯示的是空值

mysql> create table yg7 select * from yg5 where name is null;


-----------------

表改名

mysql> alter table yg7 rename txt;


-------------------------


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章