Mysql語句
一,數據對象
DDL:數據定義語言
CREATE
ALTER
DROP
DML:數據操作語言
INSERT
UPDATE
DELETE
DCL:數據控制語言
GRANT
REVOKE
二,DDL的用法
創建數據庫:CREATE database testname;
如果不存在就創建:CREATE database IF NOT EXISTS testname;
刪除數據庫:DROP DATABASE testname;
創建用戶:CREATE USER ‘username’@’host’ IDENTIFIED BY ‘PASSWORD’
刪除用戶:DROP USER ‘username’@’host’;
HOST解讀:
IP
HOSTNAME
通配符:_:匹配任意單個字符,172.16.0._
匹配任意長度的任意字符使用,%
查看用戶授權:show GRANTS from ‘username’@‘%’;
創建表:CREATE TABLE tablename; (先切換至testname庫,use testname);
創建表及數據:create table tablename(name varchar(10) age int(3));
查看表:show table tablename;
查看表結構:DESC tablename;
刪除表:drop table tablename;
修改表:
MODIFY:修改某個字段,修改字段屬性,字段名字不改
CHANGE:改變某個字段,改變字段名稱
ALTER table tablename CHANGE id ID CHAR(12) AFTER name;
ADD:添加一個字段
ALTER table tablename ADD id int(10);(默認在最后)
解讀:將id修改為大寫id,修改數據類型,放置name后面一行。
DROP:刪除一個字段
ALTER table tablename drop name;
解讀:刪除一個name字段
不會使用可以幫助:help create table;help alter table;
三,DML的用法
INSERT INTO tablename (name1,id1…) VALUES(‘user1’,1);
INSERT INTO tablename VALUES(‘user1’,1);
批量插入數據
INSERT INTO tablename (name1,id1…) VALUES(‘user1’,1), (‘user2’,2), (‘user3’,3);
UPDATE tablename SET name=’user1’ where id=5;
解讀:將表中,user1的用戶,部門號由1改為5
SELECT name,id from tablename where age=33;
解讀:查詢出年齡為33歲的,顯示名字和部門
Delete from tablename where name=‘user1’;
解讀:刪除表中名字等於user1的,如果沒有帶where表示所有行。
四,DCL數據控制語言
給一個用戶所有權限
Grant ALL PRIVILEGES ON test.* TO ‘username’@’%’ IDENTIFIED BY ‘123.com’
給用戶test庫里面所有表,所有權限,並設置密碼為123.com
GRANT [select, delete,creat…] ON ku_name.tab_name TO ‘username’@‘host’[IDENTIFIED BY ‘PASSWORD’];
解讀:授予查詢,或刪除,哪個庫,哪個表,給哪個用戶,主機權限。后還可以給沒添加密碼的用戶添加密碼,或者重新設置密碼。
如果用戶不存在,會自動創建並授權。
REVOKE [SELECT,DELETE,CREATE..] ON ku_name.tab_name from ‘username’@’host’;
解讀:取消權限的辦法。
五,給用戶添加密碼。
第一種辦法
Mysql> SET PASSWORD FOR ‘root’@’localhost’ =PASSWORD(‘123.COM’);
給root添加密碼,加密存放
改一個用戶密碼,或授權,密碼和授權存放在內存中,所以要讓mysql加
一下才生效。
FLUSH PRIVILEGES;刷新授權表,重新加載。(修改完成,都需重新加載)
第二種辦法
Mysqladmin -uroot -h127.0.0.1 –p password ‘ 123.com’;
第三種辦法
UPDATE user SET password=PASSWORD(‘123.COM’) WHERE USER=’root’ AND Host=[localhost,127.0.0.1];
解讀:修改root密碼,是locaohost,還是127.0.0.1,
UPDATE user SET password=PASSWORD(‘123.COM’) WHERE USER=‘root’;
解讀:不管是localhost還是127.0.0.1,只要是root用戶的,密碼全部被修改。
給遠程用戶添加密碼權限
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.%.%’ IDENTIFIED BY ‘passwprd’
允許192.168網段的所有主機,通過root用戶,連接任意表,任意庫,密碼password
FLUSH PRIVILEGES;
遠程登陸:mysql -uroot -p -h192.168.1.1
圖形化管理工具
Phpmyadmin
Workbench
Mysql front
Navicat for mysql
Toad
SQLyog
