標籤:sql 時間 admin mysqld top lte 建表 word 允許
一、mysql資料庫日常操作。
1.啟動mysql:/etc/init.d/mysql start (前面為mysql的安裝路徑)
2.重啟mysql: /etc/init.d/mysql restart (前面為mysql的安裝路徑)
3.關閉mysql: /etc/init.d/mysql stop(前面為mysql的安裝路徑)
4.串連本機上的mysql:
mysql -u 使用者名稱 –p (按斷行符號,再輸入密碼)
例:mysql –u root –p
5.退出mysql:exit
6.修改mysql密碼:
(1)mysqladmin -u使用者名稱 -p舊密碼 password 新密碼
例:mysqladmin –u root –p 123456 password 654321
(2)進入mysql命令列SET PASSWORD FOR 使用者名稱@主機=PASSWORD("root");
例:set password for [email protected]=password(“123456”);
(3)修改自己的密碼:
set password=password(“123456”);
7.增加新使用者:
grant 操作 on 資料庫.* to 使用者名稱@登入主機 identified by "密碼"
例:grant select on yingyu to [email protected] indentify by “123456”;
8.建庫:
create database 庫名;
例:create database yingyu;
9.顯示資料庫列表: show databases;
10.開啟資料庫:
use 資料庫;
例:use yingyu;
11.刪庫:
drop database 庫名;
例:drop database yingyu;
12.顯示庫中的資料表:
show tables;
13.顯示資料表的結構:
describe 表名;
例:describe student;
14.編碼的修改:
(1)改變整個mysql的編碼格式:
啟動mysql的時候,mysqld_safe命令列加入
--default-character-set=編碼格式
例:--default-character-set=UTF-8
(2)改變某個庫的編碼格式:
在mysql提示符後輸入命令:
alter database 資料庫 default character set 編碼格式;
例:alter database student default character set UTF-8;
二、sql常用命令
1.建表:
create table 表名(欄位設定列表);
例:create table student
(stuid char(10) primary key,
name char(20),
grade int(3),
age int(3)
);
2.刪表:
drop table 表名;
例:drop table student;
3.將表中記錄清空:
delete from 表名;
例:delete from student;
4.顯示表中的記錄:
select * from 表名;
例:select * from student;
5.給表改名:
rename table 舊錶名 to 新表名;
例:rename table student to people;
6.修改欄位屬性:
(1)alter table 表名 change 欄位名稱 欄位名稱 欄位類型 [是否允許非空];
例:alter table student change name newname char(20) null;
(2)alter table 表名稱 modify 欄位名稱 欄位類型 [是否允許非空];
例:alter table student modify name char(20) null;
7.修改表設定預設欄位:
(1)alter table 表名 modify 欄位名稱 欄位類型 default 預設值;
例:alter table student modify name char(10) defalt 7;
(2)alter table 表名 alter 欄位名稱 set default value;
例:alter table student alter name set default 7;
8.增加表的一個欄位:
alter table 表名 add column 欄位名稱 欄位類型 (default 預設值);
例:alter table student add column sex char(10) (default 1);
9.刪除表的一個欄位
alter table 表名 drop column 欄位名稱;
例:alter table student drop column name;
10.刪除表主鍵
alter table 表名 drop primary key;
例:alter table student drop primary key;
11.添加新主鍵:
alter table 表名 add primary key(欄位);
例:alter table student add primary key(stuid);
12.往表裡插入一行資料:
insert into 表名 values(欄位資料1,欄位資料2,???)
例:insert into student values(‘123’,‘qqqq’,‘80’);
13.往表裡插入多行資料:
insert into 表名 values(欄位資料1,欄位資料2,???) ,(欄位資料1,欄位資料2,???),???;
例:insert into student values(‘123’,‘qqqq’,‘80’),(‘124’,‘yyyy’,‘90’);
14. 修改表的資料:
update 表名 set 欄位名=value where 範圍
例:update student set name=‘qqq1111’ where stuid=‘123’;
15.模糊查詢
select * from 表名 where 欄位 like ’%value1%’;
例:select * from student where name like ‘q%’;
16.排序查詢:
select * from 表名 order by 欄位名1,欄位名2 [desc]
例:selec * from student order by grade;(升序)
select * from student order by grade desc;(降序)
17.左串連查詢:
select 表1.欄位1,表1.欄位2,表2.欄位1,表2.欄位2 from 表1 left (outer) join 表2 on 表1.欄位=表2.欄位;
例:select student.num,student.name,people.name,people.age from student left (outer) join people on student.name=people.name;
18.右串連查詢:
select 表1.欄位1,表1.欄位2,表2.欄位1,表2.欄位2 from 表1 right (outer) join 表2 on 表1.欄位=表2.欄位;
例:select student.num,student.name,people.name,people.age from student right (outer) join people on student.name=people.name;
19.全串連查詢(mySql不支援全串連,所以用左串連union右串連)
select 表1.*,表2.* from 表1 left (outer) join 表2 on 表1.欄位=表2.欄位 union select表1.*,表2.* from 表1 right (outer) join 表2 on 表1.欄位=表2.欄位;
例:select s.*,p.* from student s left join people p on s.name = p.name union select s.*,p.* from student s right join people p on s.name = p.name;
20.關於年份的查詢
例:查詢在1990-1993年之間出生的學生的全部資訊
select * from student where year(Sbirthday)between 1990 and 1993;
查詢在1990年12月5日之前出生的學生的全部資訊
select * from student where birthday < date(‘1990-12-05’);
三、備份與還原
1.備份資料庫:
mysqldump –u 使用者名稱 –p 資料庫名 > 儲存路徑+檔案名稱;
例:mysqldump –u root –p yingyu > /home/yingyu/yingyu.sql;
2.還原資料庫:
mysql –u 使用者名稱 –p 資料庫名 < 檔案路徑+檔案名稱;
例:mysql –u root –p yingyu < /home/yingyu/yingyu.sql;
3.直接將MySQL資料庫壓縮備份
mysqldump –u 使用者名稱 –p 資料庫名 | gzip > 儲存路徑+檔案名稱
例:mysqldump –u root –p yingyu | gzip > /home/yingyu/yingyu.sql.gz;
4.還原壓縮的Mysql資料庫
gunzip < 檔案路徑+檔案名稱 | mysql –u 使用者名稱 –p 資料庫名
例:gunzip < /home/yingyu/yingyu.sql.gz | mysql –u root –p yingyu;
5.備份資料庫中的某些表:
mysqldump –u 使用者名稱 –p 資料庫名 表名1 表名2 > 儲存路徑+檔案名稱
例:mysqldump –u root –p yingyu student > /home/yingyu/yingyu.sql;
6.備份資料庫中的某些資料庫:
mysqldump –u 使用者名稱 –p –B 庫1 庫2 > 儲存路徑+檔案名稱
例:mysqldump –u root –p –B yingyu1 yingyu2>/home/yingyu/yingyu.sql;
7.還原資料庫中的某些資料庫:
mysqldump –u 使用者名稱 –p –D 庫1 庫2 < 檔案路徑 + 檔案名稱;
例:mysqldump–u root –p–D qiuyingyu yingyu</home/yingyu/yingyu.sql;
8.還原資料庫中的某些表:
mysql –u 使用者名稱 –p 資料庫名 < 儲存路徑+表檔案名稱
例:mysql –u root –p yingyu < /home/yingyu/yingyu.sql;
時間格式區間查詢:
BETWEEN to_date(‘2011-07-01‘,‘yyyy-mm-dd‘) and to_date(‘2017-07-25‘,‘yyyy-mm-dd‘)
常用SQL命令