MySQL常用的命令
1. window啟動/停止mysql服務
方法一
1.WIN+R --> service.msc 啟動本地服務
2.找到mysql服務,雙擊,選擇啟動
3.找到musql服務,書籍,選擇停止
方法二:
1.管理員身份執行cmd,輸入“net start mysql服務名”
1.管理身份執行cmd,輸入“net stop mysql服務名”
2. window登入mysql
方法一:利用doc介面進入
1.管理員模式開啟cmd
2.mysql -hlocalhost -root -p 回車 並輸入密碼
方法二:利用navicate視覺化介面
1.直接用navicate連線本地資料庫即可
連線名:自己取
主機名或者IP地址:localhost,按照實際填寫
埠:3306,如果改了按照實際填寫
使用者名稱密碼:按照安裝時候設定的填寫
3. window doc下常用資料庫命令
登入mysql服務
mysql -hlocalhost -root -p 回車並輸入密碼
展示資料庫
show databases
建立資料庫
create table yyyy
進入一個數據庫
use yyyy
建立一張表,包括表中的資料
create table xxxx(
id int PRIMARY KEY identify(1,1), //---idetify(1,1)表示從1開始,每次增加1
name char(10),
sex char(10),
address varcher(20),
age char(2) );
查看錶結構
desc xxxx;
插入資料
insert xxxx(name,age)
VALUES(‘大衛’,’18’);
查詢資料
select * from xxxx;
更新資料
update xxxx set age=’12’ where name=’xidada’;
插入資料
insert into xxx(name,age)value('晶柱',20);
修改表名
alter table xxxx rename xxxx1
修改表結構
在xxxx表最後位置插入一個欄位:alter table xxxx add phone varchar(11)
在xxxx表開頭插入欄位phone1:alter table xxxx add phone1 varchar(11)first
在xxxx表中sex欄位後插入欄位phone2: alter table xxxx add phone2 varchar(15) after sex
修改phone varchar(11) 為phone varchar(15):alter table xxxx modify phone varchar(15)
刪除資料
delete from xxxx where age = '20';
刪除表xxxx
drop table xxxx
備註:關於mysql的刪除資料庫表有三種方式,具體見下面的Mysql 刪除資料表的三種方式詳解
刪除資料庫yyyy
drop databases yyyy;
查詢表佔用記憶體的大小(以下是postgres)
select pg_size_pretty(pg_relation_size('tbl_login_session_recode'));
退出mysql
exit
4.Mysql 刪除資料表的三種方式詳解
1.當你不再需要該表時,用drop;
2.當你仍要保留該表,但要刪除所有記錄時,用truncate;
3.當你要刪除部分記錄或者有可能會後悔的話,用delete。
刪除程度可從強到弱如下排列:
-
drop table tb;
drop 是直接將表格刪除,無法找回。例如刪除 user 表:
drop table user; -
truncate (table) tb;
truncate 是刪除表中所有資料,但不能與where一起使用;
TRUNCATE TABLE user; -
delete from tb (where);
delete 也是刪除表中資料,但可以與where連用,刪除特定行;
-- 刪除表中所有資料
delete from user;
-- 刪除指定行
delete from user where username ='Tom';
5.truncate 和 delete 的區別
-
事物
truncate刪除後不記錄mysql日誌,因此不可以rollback,更不可以恢復資料;而 delete 是可以 rollback ;
原因:truncate 相當於保留原mysql表的結果,重新建立了這個表,所有的狀態都相當於新的,而delete的效果相當於一行行刪除,所以可以rollback; -
效果
效率上 truncate 比 delete快,而且 truncate 刪除後將重建索引(新插入資料後id從0開始記起),而 delete不會刪除索引 (新插入的資料將在刪除資料的索引後繼續增加) -
truncate 不會觸發任何 DELETE觸發器;
-
返回值
delete 操作後返回刪除的記錄數,而 truncate 返回的是0或者-1(成功則返回0,失敗返回-1);
delete 與 delete from 區別
如果只針對一張表進行刪除,則效果一樣;如果需要聯合其他表,則需要使用from :
delete tb1 from tb1 m where id in (select id from tb2)
--------------------------------------------window下常用的命令---------------------------------------------
mysql常用的命令
1.安裝服務
mysqld -install
2.啟動服務
net start mysqlxxx (mysqlxxx是服務名)
2.停止服務
net stop mysqlxxx (mysqlxxx是服務名)
3.查詢一下名為mysql的服務
sc query mysqlxxx (mysqlxxx是服務名)
4.解除安裝服務(經常在重新安裝一個mysql服務的時候會出現The service already exist,代表之前安裝的mysql沒有解除安裝乾淨)
sc delete mysql
shell的命令:
1.在一堆日誌中找關鍵字
grep -r -n "xxxx" *
grep -r -n "xxxx" *.zip
------------------------------------------建立一張表的樣例----------------------------------------------
CREATE TABLE user
(
id
int(5) NOT NULL,
user_name
varchar(50) NOT NULL,
password
varchar(50) NOT NULL,
age
int(2) NOT NULL,
reg_time
datetime(6) NOT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
INSERT INTO user
VALUES ('1', 'test1', '123456', '10', '2020-07-06 22:21:11.000000'), ('2', 'test2', '123456', '10', '2020-07-09 22:21:28.000000');
COMMIT;
CREATE TABLE user
(
id
int(5) NOT NULL,
user_name
varchar(50) NOT NULL,
password
varchar(50) NOT NULL,
age
int(2) NOT NULL,
reg_time
datetime(6) NOT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
INSERT INTO user
VALUES ('1', 'test1', '123456', '10', '2020-07-06 22:21:11.000000'), ('2', 'test2', '123456', '10', '2020-07-09 22:21:28.000000');
COMMIT;
CREATE TABLE user (
id int(5) NOT NULL PRIMARY KEY,
name varchar(50) NOT NULL,
password varchar(50) NOT NULL,
age int(2) NOT NULL
)