標籤:
MySQL簡介:
RDBMS: Relational database management system: 關係型資料庫管理系統
MySQL目錄結構:
bin :
mysqld.exe .服務端程式,開啟它,才能被用戶端訪問( cmd –> net start[stop] mysql {也可以在服務中手動開啟} )
mysql.exe: 用戶端程式, mysql -u root -p 123 -h localhost;{ 使用者名稱,密碼,主機 } 退出:exit | quit;{bye}
SQL語句:
結構化查詢語言 (SQL),各自資料庫存在方言!
DDL :定義語言 ,操作資料庫,動作表
SHOW DATABASES;USE mydb1;CREATE DATABASE [IF NOT EXISTS] mydb1;DROP DATABASE [IF EXISTS] mydb1;ALTER DATABASE mydb1 CHARACTER SET utf8;SHOW TABLES;//查看emp表結構;DESC emp;ALTER TABLE stu ADD (classname varchar(100));ALTER TABLE stu MODIFY gender CHAR(2);ALTER TABLE stu change gender sex CHAR(2);ALTER TABLE stu RENAME TO student;
DML :操作語言
INSERT INTO stu(sid, sname,age,gender) VALUES(‘s_1001‘, ‘zhangSan‘, 23, ‘male‘);INSERT INTO stu VALUES(‘s_1002‘, ‘liSi‘, 32, ‘female‘);UPDATE stu SET sname=’zhangSanSan’, age=’32’, gender=’female’ WHERE sid=’s_1001’;DELETE FROM stu WHERE sid=’s_1001’003B//TRUNCATE和DELETE都可以刪除表的所有記錄, 但前者無法復原TRUNCATE TABLE stu;
DCL :控制語言
//建立使用者: CREATE USER 使用者名稱@地址 IDENTIFIED BY ‘密碼‘;CREATE USER [email protected] IDENTIFIED BY ‘123’;//給使用者授權,GRANT 許可權1, … , 許可權n ON 資料庫.* TO 使用者名稱GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON mydb1.* TO [email protected];//撤銷授權,REVOKE許可權1, … , 許可權n ON 資料庫.* FORM 使用者名稱REVOKE CREATE,ALTER,DROP ON mydb1.* FROM [email protected];//查看使用者權限,SHOW GRANTS FOR 使用者名稱SHOW GRANTS FOR [email protected];//刪除使用者,DROP USER 使用者名稱DROP USER [email protected];//修改使用者密碼 ;UPDATE USER SET PASSWORD=PASSWORD(‘密碼’) WHERE User=’使用者名稱’ and Host=’IP’;UPDATE USER SET PASSWORD=PASSWORD(‘1234‘) WHERE User=‘user2‘ and Host=’localhost’;FLUSH PRIVILEGES;
DQL :查詢語言
文法:SELECT selection_list /*要查詢的列名稱*/ FROM table_list /*要查詢的表名稱*/ WHERE condition /*行條件*/ GROUP BY grouping_columns /*對結果分組*/ HAVING condition /*分組後的行條件*/ ORDER BY sorting_columns /*對結果分組*/ LIMIT offset_start, row_count /*結果限定*/
基礎查詢,條件查詢,模糊查詢,欄位控制查詢,排序,彙總函式,分組查詢,LIMIT
主外鍵,串連查詢,子查詢,
SELECT e.ename, e.sal, d.dname, d.loc FROM emp e, (SELECT dname,loc,deptno FROM dept) d WHERE e.deptno=d.deptno AND e.empno=1006
Mysql 的使用