數據庫基本命令


數據庫基本命令

啟動服務器

mysql  -h ip -P port -uroot -p  密碼默認為空

關閉服務器

關閉服務器

tasklist | findstr mysqld
taskkill  /F /PID  8372

注冊系統服務

mysqld --install  #安裝服務
sc delete mysql(服務名)    #刪除服務

查看系統服務 運行->services.msc
通常設置為自動啟動。

配置文件

客戶端   除了mysql之外的     客戶端的配置修改后  只需要退出重新連接即可

[client]
user = root
password = 111
default-character-set = utf8

服務器端配置 需要重啟服務器

[mysqld]
character-set-server = utf8

修改管理員密碼

現在密碼默認為空 這樣是不安全的
萬一誰過來把你數據刪了 怎么辦?

#修改密碼
在知道原始密碼的情況下可以使用mysqladmin
mysqladmin是一個用於管理數據庫的程序,包括修改密碼,數據備份等
修改密碼:
    mysqladmin  -uroot -p舊密碼 password 123
    警告忽略即可

#破解密碼:
萬一你不小心把密碼忘記了怎么辦? 到公司不可能卸載重裝
這個密碼它肯定要找地方存儲起來 ,那存客戶端還是服務器呢?
服務器 ,那存在內存還是硬盤呢? 必然是硬盤,既然如此,一定有一文件用於存放密碼信息

#方式1:刪除用於記錄用戶密碼數據文件
沒問題 簡單粗暴 但是,這個文件里不只有你的賬號信息 還有別人賬號數據 還有授權相關的數據
所以你最好不要這么干!
那你在思考一下,服務器驗證用戶的本質是什么,是不是讀取一個文件的數據來和你輸入的數據進行對比,
那你可不可以這樣子 我告訴我服務器說你不要去讀那個授權文件,可以!

#方式2: 跳過授權表 進入系統修改授權表推薦
跳過這個操作是服務器相關的操作所以 咱的先關掉服務器重新開 在重新開的時候來告訴它
1.停止服務
2.啟動服務器並添加參數
**mysqld --skip-grant-tables**
3.使用客戶端登錄服務器 執行修改命令 此時不需要輸入密碼
update mysql.user set password = password("123123") where user="root" and host="localhost"**
4.刷新權限
flush privileges
5.命令行中重啟服務器驗證新密碼

編碼配置

使用客戶端執行\s 可以查看當前服務器的設置信息
latin1 gbk 就是默認的編碼。 服務器是拉丁 客戶端是 GBK
很顯然要亂碼,我們必須保證編碼方式一致!

如何設置:
在mysql安裝目錄下有個my_default.ini 他就是配置文件,但是他不是正在使用的
而是一個模板文件,我們如果要自己編寫配置文件,需要自己復制一個叫做my.ini的文件來編寫
編寫格式我們已經學習過了
configpaser模塊

[section]
option = value

要設置客戶端的內容就寫在mysql分區
要設置服務器的內容就寫在mysqld分區下
mysql在啟動的時候會自動到安裝目錄下找my.ini文件 找到命令對應的標題加載里面的設置項

測試:在配置文件中加入用戶名密碼配置

[mysql]
user = "root"
pasword = "123"

需要注意的是:mysql mysqld都會來讀取這個文件,對於客戶端和服務器我們需要使用section來區分

服務器配置部分

[mysqld]
character-set-server = utf8

客戶端mysql配置部分

[mysql]
default-character-set = utf8

其余客戶端配置部分

[client]
default-character-set = utf8

MAC配置

首先明確 配置文件編寫方式相同!

不同的在於:
    1.mysql的安裝路徑 mac默認無法修改
    位於:/usr/local  
    使用command + shift + g 來前往
    2.配置文件名稱為 my.cnf 需要放在

當出現問題無法修正時可以重裝mysql解決
mac徹底刪除mysql
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*

windows刪除安裝目錄  刪除系統服務即可

基本SQL語句

1.庫相關操作

mydb 就是庫文件名

增:
create database mydb charset utf8;

刪
drop database mydb;

改
alter database mydb charset gbk;

查  
show databases;
show create databases mydb;

切換庫
use 庫名

2.表相關操作

切換文件夾 (選擇數據庫)
use mydb;

增
create table t1 (id int,name char)
create table 表名稱(字段名稱 字段類型[(長度整數)  約束])  charset utf8;
#改

1.1改字段
alter table 表名 add | modify | drop | change  
add  跟 列名和類型
modify 跟 列名 和 類型
drop 跟列名
change 跟 舊列名  新列名 類型

1.2改字符編碼
alter table 表名 default character set gbk

#1.3改名稱
rename table tname1 to tname2

#刪
drop table 表名

#查
show tables;
show create table t1;
desc t1;

3.記錄相關 一行數據

增
insert into   表名  values(v1,v2,....)  # 該方式必須保證 插入的數據個數與 表格字段一 一對應  
insert into   表名(字段名稱1,字段名稱2)  values(v1,v2)  # 該方式必須保證 插入的數據個數與 必須與指定的字段一 一對應
insert into   表名(字段名稱1,字段名稱2)  values(v1,v2),(v1,v2) # 同時插入多條記錄

刪
delete  from 表名 ;   #刪除所有記錄
delete  from 表名 where 條件;   #刪除滿足條件的記錄

改
update 表名  set 字段名稱=新的值,字段名稱2=值2;   #修改所有記錄
update 表名  set 字段名稱=新的值,字段名稱2=值2  where 條件 ;   #修改滿足條件的記錄

查
select * from 表名; # *表示全部字段     查詢所有記錄
select 字段 from 表名 where 條件;

#重建表,清空所有數據;
truncate table t1;

4.注意事項

注意事項:

默認情況,整數是有符號的,(可通過unsigned去設置為無符號整型)

存入的數據值 超過數據類型表示的最大范圍時,會自動取最大值。

查看局部環境變量,即當前連接的環境變量。@@,例如:select @@sql_mode;

查看全局環境變量,即所有連接的環境變量。@ ,例如:select @sql_mode;

解決辦法:設置嚴格模式(可寫入配置文件)。

 set sql_mode="NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES"
指定長度:int(長度)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM