登錄數據庫
mysql -uroot -p12345
(12345為密碼)創建數據庫
create database senguocc;
(senguocc為數據庫名)查看當前有哪些數據庫
show databases;
使用某個數據庫
use senguocc;
顯示當期數據庫中的所有表
show tables;
命令行下忘記寫分號
輸入'\c'再按回車.
顯示當前表的結構
desc 表名;
創建用戶
insert into mysql.user(Host,User,Password) values('localhost','newname',password('1234'));
給用戶賦權限
grant all privileges on senguocc.* to monk@localhost identified by 'test123';
(注:senguocc為數據庫名,monk為用戶名,'test123'為密碼)刷新系統權限表
flush privileges;
(注:每次為新創建的用戶賦權限之前都要先刷新系統權限表才行)修改root密碼
update mysql.user set password = password('新密碼') where User = 'root';
flush privileges;
修改用戶密碼
mysqladmin -u用戶名 -p舊密碼 password 新密碼;
向數據庫中導入.sql數據文件
source filename.sql;
將時間轉換為時間戳(int 型)
select unix_timestamp('2009-10-26 10-06-07');
將時間戳轉換為時間類型
select from_unixtime(1256540102);
注:時間戳表示從1970-1-1 0:0:0到現在時刻的秒數.
sqlalchemy用法:
data_timestamp = shop.create_date_timestamp
print(self.session.query(func.from_unixtime(data_timestamp)).scalar())
(注:func后可以跟任何數據庫支持的函數)
- sqlalchemy截取日期類型方法
data_trans = '2015-5-27'
data_result = self.session.query(func.date_format(data_trans,'%Y-%m-%d')).scalar()
print (data_result)
mysql用法:
select date_format('1997-10-04 22:23:00','%y %M %b %D %W %a %Y-%m-%d %H:%i:%s %r %T');
結果:
97 October Oct 4th Saturday Sat 1997-10-04 22:23:00 10:23:00 PM 22:23:00
使用senguocc的order表時候要加前綴senguocc.order,否則會出錯,因為order為關鍵字.
count用法小結
①統計所有寵物的數目:select count(*) from pet;
②統計每個主人所擁有寵物的數目:select owner,count(*) from pet group by owner;
③統計每種寵物的數目:select species,count(*) from pet group by species;
④統計每種性別的寵物的數量:select sex,count(*) from pet group by sex;
⑤統計每種寵物不同性別的數量:select species,sex,count(*) from pet group by species,sex;
⑥查詢貓和狗不同性別的數目:select species,sex,count(*) from pet where species = 'dog' or species = 'cat' group by species,sex;
修改主鍵:先刪除,再添加
alter table tablename drop primary key;
alter table tablename add primary key(id);(注:id 不能有重復的)
刪除已經建好的表中的一列
alter table tablename drop columnname;
sum函數用法
user 表:primary key(id,num)
id num
1 15
1 22
1 28
2 5
select sum(num) from user where id = 1;
輸出:65
- 向表尾增加一列
alter table tablename add column columnname int(10) not null default 0;
往現有表name列后增加新的一列
alter table tablename add column columnname int(10) not null default 0 after name;
在表首增加一列
alter table tablename add column columnname int(10) not null default 0 first;
mysql數據庫中,假定有學生-成績表grade,現在從其中查詢成績,如果及格則顯示分數,如果不及格顯示"不及格"
select id,grades,case when grades < 60 then '不及格' when grades > 60 then grades end from grade;
導出某數據庫到sql文件(在系統命令行中執行該命令,而不是進入數據庫中)
mysqldump -u用戶名 -p密碼 數據庫名 > 數據庫名.sql
查看當前用戶
select user();