[TOF]mysql
SQL
1 數據庫的基本概念
-
DataBase:DBsql
-
數據的倉庫。用於存儲和管理數據的倉庫數據庫
-
特色:①持久化存儲數據,數據就是一個文件系統安全
②方便存儲和管理數據oop
③使用了統一的方式操做數據庫——SQL 大數據
-
數據庫軟件spa
- Oracle
- MySQL
- IBM DB2
- Hive
- Facebook開發
- 基於Hadoop
- 類SQL語法
- 執行延遲高,適合處理大數據、對實時性要求低的場合
2 SQL
-
什麼是SQL?code
*Sructured Query Language :結構化查詢語言對象
*定義了全部關係型數據庫的規則ip
-
SQL通用語法
-
SQL單行或多行書寫,以==分號==結尾
-
MySQL不區分大小寫,關鍵字建議大寫
-
單行註釋: -- 註釋內容
多行註釋: /* 註釋內容 */
mysql> show databases; -- 註釋內容 mysql> show databases; /* 註釋內容 */
-
-
SQL
分類-
DDL(Data Definition Language)數據定義語言
用來定義數據庫對象:數據庫、表、列等。
關鍵字:create、drop、alter等
-
DML(Data Manipulation Language)數據操做語言
用來對數據庫中表的數據進行增刪修改。
關鍵字:insert、deleta、update等
-
DQL(Data Query Language)數據查詢語言
用來查詢數據庫中表的記錄(數據)。
關鍵字:select、where等
-
DCL(Data Control Language)數據控制語言
用來定義數據庫的訪問權限和安全級別,及建立用戶。
關鍵字:GRANT、REVOKE等
-
3 DDL:操做數據庫、表
3.1 操做數據庫:CRUD
-
Create:建立
mysql> CREATE DATABASE DB1; -- 建立數據庫 mysql> create database if not exists DB1; -- 判斷建立數據庫 mysql> create database if not exists DB3 character set gbk; -- 建立指定字符集的數據庫
-
Retrieve:查詢
mysql> SHOW DATABASES; -- 查詢全部數據庫的名稱 mysql> SHOW CREATE DATABASE mysql; -- 查詢某個數據庫的字符集(UTF-8);查詢某個數據庫的建立語句
-
Update:修改
mysql> alter database db4 character set utf8; -- 修改字符集
-
Delete:刪除
mysql> drop database db4; -- 刪除數據庫 mysql> drop database if exists db3; -- 判斷刪除數據庫
-
使用數據庫
mysql> select database(); -- 查詢當前使用的數據庫名稱 mysql> use db1; -- 使用數據庫
3.2 操做表:CRUD
-
Create:建立
==數據類型==:
- int:整數類型
- double(5,2):小數類型,共5位、2位小數,最大999.99
- date:日期,包含年月日 yyyy-MM-dd
- datetime:日期,包含年月日時分秒 yyyy-MM-dd HH:mm:ss
- timestamp:時間戳,包含年月日時分秒 yyyy-MM-dd HH:mm:ss
- 若是未來不給這個字段賦值或NULL,則默認賦值當前系統時間
- varchar(20):字符串,最大20個字符
- zhangshan:8個字符
- 張三:2個字符
mysql> create table student( -- 表名:student -> id int, -- 定義列名和數據類型 -> name varchar(32), -> age int, -> score double(4,1), -> birthday date, -> insert_time timestamp -- 這裏別加, -> );
-
Retrieve:查詢
mysql> use mysql; mysql> show tables; -- 查詢全部表 mysql> desc db; -- 查詢表結構
-
Update:修改
mysql> alter table student rename to stu; -- 修改表名 mysql> show create table stu; -- 查詢表的字符集 mysql> alter table stu character set gbk; -- 修改表的字符集 mysql> alter table stu add gender varchar(10); -- 添加一列 mysql> alter table stu change gender sex varchar(20); -- 修改列名和類型 mysql> alter table stu modify sex varchar(10); -- 只修改列的類型 mysql> alter table stu drop sex; -- 刪除一列
-
Delete:刪除
mysql> drop table stu; -- 刪除表 mysql> drop database if exists stu; -- 判斷刪除表
4 DML:增刪改表中數據
-
添加數據
mysql> insert into stu(id,name,age) values(1,'張無忌','18'); mysql> insert into stu values(2,'趙敏',17,99.9,NULL,NULL);
- varchar類型要打「」
- 表名後若不定義列名,則默認給全部列添加值
-
刪除數據
-
修改數據
5 DQL:查詢表中記錄
mysql> select * from stu;