Mysql數據基本操做(增、刪、改、查)

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;
相關文章
相關標籤/搜索