1. 程式人生 > >MySQL數據庫常用操作語法

MySQL數據庫常用操作語法

alter alt 修改表名 chan ima character 默認 登陸 ins

1.?數據庫初始化配置

1.1.?創建數據庫

create database apps character set utf8 collate utf8_bin;
創建數據庫”app“,指定編碼為utf8

1.2.?創建用戶

create user [email protected] identified by ‘12345‘;
創建用戶apps,密碼12345,設定只能從localhost訪問本地MySQL

create user ‘apps1‘ identified by ‘12345‘;
用戶apps1可以從任意的域或主機訪問當前MySQL

1.3.?配置用戶權限

grant all privileges on apps.* to [email protected]

/* */;
賦予用戶apps從localhost登陸MySQL時,數據庫apps裏所有表的全部權限

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

grant select, insert, update, delete, create, drop on CTD.posts to [email protected] identified by ‘obligingneighbor‘;


指定單個表的部分權限

grant all privileges on *.* to [email protected] identified by ‘administrator‘; 賦予所有數據庫的全部權限

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;

  • 使用SET PASSWORD語句修改密碼 語法: SET PASSWORD FOR [email protected] = PASSWORD(‘newpassword‘); 如果是更改當前登陸用戶的密碼,用SET PASSWORD = PASSWORD("newpassword"); 實例:
set password for [email protected]=password(‘‘);
SET PASSWORD FOR name=PASSWORD(‘new password‘);
SET PASSWORD FOR [email protected]%‘ = PASSWORD("123456");

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

  • 取消一個賬戶和其權限

    DROP USER user;
    drop user [email protected]%‘
    drop user [email protected]
  • 取消授權用戶

    語法:REVOKE privilege ON databasename.tablename FROM [email protected];

    例子:

    REVOKE SELECT ON *.* FROM [email protected]%‘;
    REVOKE SELECT ON test.user FROM [email protected]%‘;
    revoke all on *.* from [email protected] ;
    revoke all on user.* from [email protected]%‘;
    
    SHOW GRANTS FOR [email protected]%‘;     //查看授權
  • 刪除用戶: 語法: 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

    將數據文件導入表 pet: LOAD 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;//把字段移動到指定字段之後

MySQL數據庫常用操作語法