1.mysql數據存儲結構
1.1由“數據庫”——》“表”——》“數據”組成
??1.2管理數據庫需要使用SQL(結構化查詢語言)
SQL語言分為:
1 數據查詢語言DQL
按照指定的組合、條件表達式或排序檢索已存在的數據庫中數據,不改變數據庫中數據。
命令:SELECT…FROM…WHERE…
2 數據操縱語言DML
對已經存在的數據庫進行元組的插入、刪除、修改等操作
命令:INSERT、UPDATE、DELETE
3 數據定義語言DDL
創建、修改或刪除數據庫中各種對象,包括表、視圖、索引等。
? 命令:CREATE?TABLE?,?CREATE?VIEW,?CREATE?INDEX、ALTER?TABLE?,
????????????? DROP?TABLE?,?DROP?VIEW,?DROP?INDEX?
4 數據控制語言DCL
用來授予或收回訪問數據庫的某種特權、控制數據操縱事務的發生時間及效果、對數據庫進行監視
命令:GRANT、REVOKE、COMMIT、ROLLBACK
2.查詢所有數據庫
通過命令行登錄數據庫,輸入第一個查看數據庫的sql語句
mysql> show databases; –默認顯示4個數據庫
+——————–+
| Database ? ? ? ? ? |
+——————–+
| information_schema | –mysql元數據,基礎數據
| mysql ? ? ? ? ? ? ?| –mysql配置數據庫,其中包含用戶信息(用戶名和密碼,權限管理)
| performance_schema | –mysql數據庫軟件的運行數據,日志信息,性能數據
| test ? ? ? ? ? ? ? | –測試數據庫,空數據庫
+——————–+
3,創建數據庫
3.1?sql語句為:create database ? ?數據庫名稱;
mysql> create database first; –first為數據庫名稱
Query OK, 1 row affected (0.01 sec)
3.2 創建數據庫時設置數據庫的字符
mysql> create database two –此時不需輸入分號,因為分號意味這語句結束,直接回車
-> default character set utf8; –設置默認字符為utf-8
Query OK, 1 row affected (0.00 sec)
3.3 查看數據庫的默認字符集
mysql> show create database first; ? ?–first為數據庫名稱
+———-+—————————————————————+
| Database | Create Database ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
+———-+—————————————————————+
| first ? ?| CREATE DATABASE `first` /*!40100 DEFAULT CHARACTER SET gbk */ |
+———-+—————————————————————+
1 row in set (0.00 sec)
3.4 刪除數據庫
mysql> drop database two; ? –two為數據庫名稱
Query OK, 0 rows affected (0.17 sec)
3.5 修改數據庫的默認字符集
mysql> alter database first default character set utf8; ? –修改first數據庫的字符為utf-8
Query OK, 1 row affected (0.00 sec)
4.表管理
4.1選擇數據庫
mysql> use first; –first為數據庫名稱
Database changed
4.2創建表
mysql> create table student( –student為表名稱
? ? -> sid int, –sid為字段名稱 編號,int是字段類型 ?整形
? ? -> sname varchar(20), –sname為字段名稱 姓名,varchar(20)是字段類型 字符串長度是20
? ? -> sage int –sage為字段名稱 年齡,int是字段類型,整形
? ? -> );
Query OK, 0 rows affected (0.14 sec)
4.3查看所有表
mysql> show tables;
+—————–+
| Tables_in_first |
+—————–+
| student ? ? ? ? |
+—————–+
1 row in set (0.00 sec)
4.4查看一張表的表結構
mysql> desc student; –student表名稱
+——-+————-+——+—–+———+——-+
| Field | Type ? ? ? ?| Null | Key | Default | Extra |
+——-+————-+——+—–+———+——-+
| sid ? | int(11) ? ? | YES ?| ? ? | NULL ? ?| ? ? ? |
| sname | varchar(20) | YES ?| ? ? | NULL ? ?| ? ? ? |
| sage ?| int(11) ? ? | YES ?| ? ? | NULL ? ?| ? ? ? |
+——-+————-+——+—–+———+——-+
3 rows in set (0.05 sec)
4.5刪除表
mysql> drop table student;
Query OK, 0 rows affected (0.11 sec)
? ?4.6修改表
mysql> alter table student add column sgender varchar(2); –向student表中增加一個sgender的字段,column可以省略
Query OK, 0 rows affected (0.06 sec)
Records: 0 ?Duplicates: 0 ?Warnings: 0
mysql> alter table student drop sgender; –刪除student表中sgender這個字段,column可以省略
Query OK, 0 rows affected (0.06 sec)
Records: 0 ?Duplicates: 0 ?Warnings: 0
mysql> alter table student modify sname varchar(10); –修改student表中sname字段的類型為varchar(10)
Query OK, 0 rows affected (0.08 sec)
Records: 0 ?Duplicates: 0 ?Warnings: 0
mysql> alter table student change sname newsname varchar(20); –修改student表中sname字段的名稱,變為newsname
Query OK, 0 rows affected (0.08 sec)
Records: 0 ?Duplicates: 0 ?Warnings: 0
?