MySQL數據庫經常使用操做語法

1. 數據庫初始化配置

1.1. 建立數據庫

create database apps character set utf8 collate utf8_bin;
建立數據庫」app「,指定編碼爲utf8
mysql

1.2. 建立用戶

create user 'apps'@'localhost' identified by '12345';
建立用戶apps,密碼12345,設定只能從localhost訪問本地MySQL
sql

create user 'apps1' identified by '12345';
用戶apps1能夠從任意的域或主機訪問當前MySQL
數據庫

1.3. 配置用戶權限

grant all privileges on apps.* to 'apps'@'localhost';
賦予用戶apps從localhost登錄MySQL時,數據庫apps裏全部表的所有權限
app

grant的14個權限 select, insert, update, delete, create, drop, index, alter, grant, references, reload, shutdown, process, fileide

grant select, insert, update, delete, create, drop on CTD.posts to laowang@192.168.1.11 identified by 'obligingneighbor';
指定單個表的部分權限
post

grant all privileges on *.* to 'admin'@'127.0.0.1' identified by 'administrator'; 賦予全部數據庫的所有權限ui

1.4. 刷新權限表

flush privileges;
quit;  // 退出

1.5. 用戶管理

1.5.1. 直接向mysql.user表插入記錄:

insert into user (host,user,password) values ('%','jss_insert',password('jss'));
flush privileges;

1.5.2. 修改mysql用戶密碼方式:

  • 使用mysqladmin語法  mysqladmin -u用戶名 -p舊密碼 password 新密碼
    例: mysqladmin -u root -p 123 password 456;
    編碼

  • 直接修改user表的用戶口令
    語法:update mysql.user set password=password('新密碼') where User="username" and Host="localhost";
    update user set password=password('54netseek') where user='root'; flush privileges;
    spa

  • 使用SET PASSWORD語句修改密碼 語法: SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword'); 若是是更改當前登錄用戶的密碼,用SET PASSWORD = PASSWORD("newpassword"); 實例:
set password for root@localhost=password('');
SET PASSWORD FOR name=PASSWORD('new password');
SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");

1.5.3. 刪除用戶和撤銷權限:

  • 取消一個帳戶和其權限code

    DROP USER user;
    drop user username@'%'
    drop user username@localhost
  • 取消受權用戶

    語法:REVOKE privilege ON databasename.tablename FROM 'username'@'host';

    例子:

    REVOKE SELECT ON *.* FROM 'pig'@'%';
    REVOKE SELECT ON test.user FROM 'pig'@'%';
    revoke all on *.* from sss@localhost ;
    revoke all on user.* from 'admin'@'%';
    
    SHOW GRANTS FOR 'pig'@'%';     //查看受權
  • 刪除用戶: 語法: delete from user where user = "user_name" and host = "host_name" ;

例子:delete from user where user='sss' and host='localhost';

2. 數據庫管理

2.1. 查看全部數據庫

數據庫默認目錄:/usr/local/mysql/data

SHOW DATABASES;   // 顯示數據庫
USE abccs         // 進入數據庫
SHOW TABLES;      // 顯示錶
DESCRIBE mytable; // 顯示錶結構
CREATE DATABASE abccs;    // 建立一個數據庫
CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1), birth DATE, birthaddr VARCHAR(20));   //建立表

2.2. 插入數據

  • 使用INSERT語句
    insert into mytable values (‘abccs’,‘f’,‘1977-07-07’,‘china’);

  • 使用文本方式插入數據

    mysql.txt內容:

    abccs f 1977-07-07 china   
    mary f 1978-12-12 usa 
    tom m 1970-09-02 usa

    將數據文件導入表 petLOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet;

2.3. 修改數據庫或表設置

drop database drop_database;   //刪除一個已經肯定存在的數據庫
alter table 表名 ENGINE=存儲引擎名;  //修改表的存儲引擎
alter table 表名 drop 屬性名; //刪除字段
alter table 舊錶名 rename to 新表名;  //修改表名
alter table 表名 modify 屬性名 數據類型;  //修改字段數據類型
alter table 表名 change 舊屬性名 新屬性名 新數據類型; //修改字段名
alter table 表名 drop FOREING KEY 外鍵別名; //刪除子表外鍵約束

2.4. 修改表字段

alter table example add phone VACGAR(20); //增長無約束的字段
alter table example add age INT(4) NOT NULL; //增長非NULL的字段
alter table example add num INT(8) PRIMARY KEY FIRST;  //表的第一個位置增長字段
alter table example add address VARCHAR(30) NOT NULL AFTER phone;  //表的指定位置以後增長字段
alter table example modify name VARCHAR(20) FIRST; //把字段移動到第一位
alter table example modify num INT(8) AFTER phone;//把字段移動到指定字段以後
相關文章
相關標籤/搜索