1、數據庫配置
# 經過配置文件統一配置的目的: 統一管理 服務端(mysqld)、客戶端(client) 1.配置mysqld(服務端)的編碼爲utf-8,再建立數據庫的時候,默認編碼都採用了utf-8. 配置流程: # 1)在mysql安裝根目錄下,建立配置文件:my.ini # mac下配置文件名叫 my.cnf # 2)設置配置文件內容並保存 [client] # mysql本身的客戶端叫[mysql],配置[client]即配置了[mysql],也配置了其餘存在方式的客戶端,好比Navicat可視化客戶端 # 設置mysql客戶端默認字符集 default-character-set=utf8 [mysqld] # 服務器配置 #設置3306端口 port = 3306 # 設置mysql的安裝目錄 basedir=F:\mysql-5.6.45-winx64 # 設置mysql數據庫的數據的存放目錄 datadir=F:\mysql-5.6.45-winx64\data # 容許最大鏈接數 max_connections=200 # 服務端使用的字符集默認爲8比特編碼的latin1字符集,因此修改成utf8 character-set-server=utf8 # 建立新表時將使用的默認存儲引擎 default-storage-engine=INNODB # 3)重啓數據庫服務
2、鏈接數據庫
1. 遊客登陸(不必定能登入),登入了啥都不能幹 >:mysql 2.帳號密碼登陸 >:mysql -u root -p 再次輸入密碼,沒有任何提示,沒有密碼直接回車 3.鏈接指定服務器的mysql >:mysql -h ip地址 -P端口號 -u帳號 -p 回車後敲入密碼 eg: >:mysql -hlocalhost -P3306 -uroot -p 4.退出數據庫 >:quit >:exit
3、用戶信息查看
1.查看當前登陸的用戶 mysql>: select user(); r 2.root權限下能夠查看全部用戶信息: mysql>: select * from mysql.user; mysql>: select * from mysql.user \G mysql>: select user,password,host from mysql.user; 3.root登陸下,刪除遊客(操做後須要重啓mysql服務) mysql>: delete from mysql.user where user=''; 4.root登陸下,修改密碼(操做後要重啓mysql服務) mysql>: update mysql.user set password=password('12345678') where user='用戶名' host='localhost'; 5.沒有登陸的狀態下,去修改密碼 >: mysqladmin -u用戶名 -p舊密碼 -h域名 password "新密碼" eg>: mysqladmin -uroot -p12345678 -hlocalhost password "root" 6.root登陸下,建立用戶 mysql>: create user'用戶名'@'%' identified by '密碼'; eg>: create user'cxk'@'localhost' identified by '123456'; %:表明匹配全部主機,設置成‘localhost’,表明只能本地訪問,例如root帳戶默認爲‘localhost’ 7.root登陸下,授予用戶權限: mysql>: grant all on *.* to tomjoy@localhost identified by '123456'; 注: all表明全部的權限, *.*表明全部的庫都支持該權限,也能夠指定庫,好比只容許 tset庫有這些權限,就寫成 test.*
4、用戶操做
1.爲特定的數據庫分配有該數據庫 操做權限 的用戶 mysql>: grant 權限們 on 數據庫.表 to 用戶名@'主機名' identified by '密碼'; # 1)all:全部權限 # 2)oldboy.*:oldboy數據庫下全部表 # 3)oldboy@'localhost':本機能夠經過oldboy用戶登入 # 4)identified by 'Oldboy123':密碼爲Oldboy123 eg>: grant all on oldboy.* to oldboy@'localhost' identified by 'Oldboy123'; # 1)select,delete,update,insert,drop,alter:指定的權限 # 2)oldboy.*:oldboy數據庫下全部表 # 3)oldboy@'%':任何機器能夠經過oldboy用戶登入 # 4)identified by 'Oldboy123':密碼爲Oldboy123 eg>: grant select,delete,update,insert,drop,alter on oldboy.* to oldboy@'%' identified by 'Oldboy123'; 2.撤銷權限 mysql>: revoke 權限1,權限2,... on 數據庫名.表名 from 用戶名@'主機名'; # 3.禁掉本地oldboy用戶對oldboy數據庫的全部表的drop權限 eg:> revoke drop on oldboy.* from oldboy@'localhost'; 4.刪除用戶 drop user 用戶名@'主機名';
5、數據庫的基本操做
create 、show、use、dropmysql
1.查看已有數據庫 mysql>: show databases; 2.選擇某個數據庫 mysql>: use 數據庫名 3.查看當前所在數據庫 mysql>: select database(); 4.建立數據庫 mysql>: create database 數據庫名 [charset=編碼格式]; 中括號裏編碼格式能夠省略 eg>: create database cxk; eg>: create database kobe charset=utf8; 5.查看建立數據庫的詳細內容 mysql>: show create database 數據庫名; 6.刪除數據庫 mysql>: drop database 數據庫名; 7.修改字符編碼 mysql>: alter database 數據庫名 charset=編碼格式;
6、表的基本操做
create 、show、desc、dropsql
# 前提: 先選擇要操做的數據庫 use 庫名; 1.查看已有表 mysql>: show tables; 2.建立表 mysql>: create table 表名(字段們); eg>: create table student(name varchar(16),age int); eg>: create table teacher(name varchar(16),age int); 3.查看建立表的sql mysql>: show create table 表名; eg>: show create table student; 4.查看建立表的結構 mysql>: desc 表名; 5.刪除表 mysql>: drop table 表名 eg>: drop table teacher; 6.修改表名 mysql>: alter table 舊錶 rename 新表; 7.修改字段名 mysql>: alter table 表名 change 舊字段 新字段 類型(長度); 8.修改字段屬性 mysql>: alter table 表名 modify 字段 新類型(長度); 9.修改表的編碼方式: mysql>: alter table 表名 default charset=gbk; 10.建立表的完整語法 # 長度和約束在某些清空下是能夠省略的 mysql>: create table 表名( 屬性名1 類型(長度) 約束 ,... 屬性名1 類型(長度) 約束 ) engine=引擎 default charset=utf8;
7、記錄的基本操做
insert into、delete from、update set、select from數據庫
1.查看某個數據庫中的某個表的全部記錄,若是在對應數據庫中,能夠直接找表 mysql>: select * from [數據庫名.]表名; eg>: select * from student; 注: *表明查詢全部字段 2.給表的全部字段插入數據 mysql>: insert [into] [數據庫名].表名 values(值1,...,值n); eg>:若是給有name和age字段的student表插入數據 1條>: insert into student values('cxk',38); 多條>: insert into student values('悟空',78),('八戒',69); 指定庫>: insert stu.student values('周',38),('琦',48); 3.根據條件修改指定內容 mysql>: update [數據庫名.]表名 set 字段1=新值1,字段n=新值n where 字段=舊值; eg>: update student set name='渣鍇',age='100' where name = '琦'; 注: 1)能夠只修改部分字段 2) 沒有條件下,全部記錄都會被更新 eg>: update student set age='38' where age='100'; 4.根據條件刪除記錄 mysql>: delete from [數據庫名.]表名 where 條件; eg>: delete from student where name='周'; eg>: delete from student where age<38;