Linux命令補充:
Windows和Linux之間是rz sz
scp:
A機器(Linux)將文件或者文件夾傳到B機器(Linux)
scp xxx.log root@xxx.xxx.xxx.xxxIP地址:/xxx/xxx
scp -r /xxx root@xxx.xxx.xxx.xxxIP地址:/xxx/xxx
A機器用xxx用戶發(fā)送:
scp xxx.log IP地址:/xxx/xxx
等價于
scp xxx@IP地址:/xxxx/xxxx
軟連接:
路徑:
絕對路徑:cd /xxx/xxx/xxx
相對路徑:cd xxxx
ln -s 實際路徑 軟連接路徑(最好使用絕對路徑)
MySQL的基本概念:
database db :數(shù)據(jù)庫
table : 表
db1:t1, t2, t3
db2:t2, t3, t4
字段類型:
http://www.runoob.com/mysql/mysql-data-types.html
整數(shù)型:int
小數(shù)型:float/double
字符:char
字符串:varchar
時間:timestamp
常規(guī)命令:
使用某個數(shù)據(jù)庫:
use 數(shù)據(jù)庫名;
查看數(shù)據(jù)庫下面所有的表:
show tables;
查看某個表的表結(jié)構(gòu):
show create table 表名;
創(chuàng)建數(shù)據(jù)庫:
create database 數(shù)據(jù)庫名;
創(chuàng)建表:
create table 數(shù)據(jù)庫名.表名(字段 類型,……)
例如:
create table user(
id int,
name varchar(128),
memory double,
sex char(1),
do varchar(100),
cretime timestamp
)CHARSET=utf8;
刪除表:
drop table 表名;
插入數(shù)據(jù):
insert into 數(shù)據(jù)庫名.表名(列名) values(對應(yīng)的值);
例如:
insert into user(id,name,memory,sex,do,cretime) values(1,'小米',10.22,'b','在打游戲','2017-12-11 00:00:00');
insert into user values(1,'小米',10.22,'b','在打游戲','2017-12-11 00:00:00');
insert into user(id, name) values(1,'小米');
查詢:
select 字段 from 數(shù)據(jù)庫名.表名;
例如:
select * from user;
select * from user where id=3;
*:查詢所有的列
更新:
update 數(shù)據(jù)庫名.表名 set 字段名稱=新的值
例如:
update user set sex='g' where id=1;修改id為1的數(shù)據(jù)
update user set sex='g';修改全部的行
刪除:
delete from 數(shù)據(jù)庫名.表名
例如:
delete from user;刪除所有的數(shù)據(jù),慎用
delete from user where id=3;刪除id為3的數(shù)據(jù)
排序:
order by xxx desc | asc
例如:
select * from user order by cretime
select * from user order by cretime desc;
select * from user order by cretime asc;
只取多少行數(shù)據(jù):
limit n
例如:
select * from user limit 2;
聚合語法:
select 列1,列2……,sum(memory) from user group by 列1,列2…… having sum(memory) > 3000
聚合函數(shù):
count() : 求數(shù)量
sum() : 求和
avg() : 求平均
字段別名:
as xxx
等價SQl:使用子查詢語法
select * from(select dept, sum(sal) as sum_sal from salary group by dept) t where t.sum_sql > 5000;
兩張表關(guān)聯(lián):
左連接:
A left join B on A.字段=B.字段 工作中用的最多 A表數(shù)據(jù)最全 <-- B表補全
右連接:
A right join B on A.字段=B.字段 A表補全 --> B表數(shù)據(jù)最全
內(nèi)連接:
A inner join B on A.字段=B.字段 慎用
注意點:
只要滿足on條件鲫剿,有幾行算幾行
例如:
select a.* b.deptno,b.dname from emp a left join dept b on a.deptno=b.deptno;
select a.* b.deptno,b.dname from emp a right join dept b on a.deptno=b.deptno;
創(chuàng)建db,user
create database 數(shù)據(jù)庫名;
grant all privileges on 數(shù)據(jù)庫名.* to 某個用戶名@'%' identified by '密碼';
flush privileges;
注意點:
只要涉及權(quán)限修改猜极,必須執(zhí)行flush privileges;
% 允許所有的IP都可以訪問(權(quán)限危險)
192.168.%.%
創(chuàng)建用戶并授權(quán)丘薛,同時限制只能在某個IP或者IP段上的機器才能訪問
謹(jǐn)記:
flush privileges; 或者重啟MySQL服務(wù)
補充點:
1.登錄
mysql -uroot -p123456 -h127.0.0.1
2.dbeaver(企業(yè)使用的軟件)
mysqladmin環(huán)境變量
vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export MYSQL_BASE=/usr/local/mysql
export PATH=${MYSQL_BASE}/bin:$PATH
PS1=`uname -n`":"'$USER'":"'$PWD'":>"; export PS1
作業(yè):
0. MySQL部署好
1. db腻暮,table創(chuàng)建讥珍、刪除抖苦?
2. 增刪改查sql語法毁菱?
3. 保留兩位小數(shù),怎么做锌历?(拓展)
4. 聚合+ join 語法
拓展:
1. 表的字段的自增長
2. 表的約束: 主鍵贮庞、唯一、為空
3. 表的索引(查詢更快)有哪些究西、怎樣創(chuàng)建
【來自@若澤大數(shù)據(jù)】