這裏主要總結兩部分:
DDL和DML,即操作數據庫和表的語句以及對表中數據進行增刪改操作的語句
DDL語句
這類語句又分爲兩部分- 操作數據庫(CRUD)
- 操作表(CRUD)
1、操作數據庫
(Create)創建:
創建數據庫:create database 數據庫名稱;
先判斷數據庫是否存在,如果不存在,再創建:create database if not exists 數據庫名稱;
創建數據庫,並指定字符集:create database 數據庫名稱 character set 字符集名;
創建db4數據庫,判斷是否存在,並指定字符集爲gbk:
create database if not exists db4 character set gbk;(Retrieve)查詢:
查詢所有數據庫名稱:show databases;
查詢某個數據庫的字符集:show create database 數據庫名稱;(Update)修改:
修改數據庫的字符集
alter database 數據庫名稱 character set 字符集名稱;(Delete)刪除:
刪除數據庫:drop database 數據庫名稱;
判斷數據庫存在,存在再刪除:drop database if exists 數據庫名稱;使用數據庫:
查詢當前正在使用的數據庫名稱:select database();
使用數據庫:use 數據庫名稱;
2、操作表
(Create)創建:
創建表:
create table 表名(
列名1 數據類型1,
列名2 數據類型2,
....
列名n 數據類型n);
注意:最後一列不加逗號
- int:整數類型
- double:小數類型
- date:日期,只包含年月日,形如yyyy-MM-dd
- datetime:日期,包含年月日時分秒, yyyy-MM-dd HH:mm:ss
- timestamp:時間戳類型,包含年月日時分秒 yyyy-MM-dd HH:mm:ss
如果將來不給這個字段賦值,或賦值爲null,則默認使用當前的系統時間,來自動賦值 - varchar:字符串,在使用的時候需要指定長度,例如varchar(2)表示最大長度2個字符
數據庫數據類型
複製表:create table 表名 like 被複制的表名;
(Retrieve)查詢:
查詢某個數據庫中所有的表名稱:show tables;
查詢表結構:desc 表名;(Update)修改:
修改表名:alter table 表名 rename to 新的表名;
alter table 表名 character set 字符集名稱:alter table 表名 character set 字符集名稱;
添加一列:alter table 表名 add 列名 數據類型;
修改列名稱 類型:alter table 表名 modify 列名 新數據類型;(Delete)刪除:
判斷數據庫存在,存在再刪除:drop table if exists 表名 ;
從上面這些語句不難總結得出,無論是數據庫還是表,它們的增刪改語句都和create、alter、drop、show有關
DML語句
增刪改表中的語句- 添加數據:insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);
列名和值要一一對應,
如果不指定列名,則默認給所有列添加值:insert into 表名 values(值1,值2,...值n);
除了數字類型,其他類型需要使用引號(單雙都可以)引起來 - 刪除數據:delete from 表名 [where 條件]
如果不加條件,則默認刪除表中所有數據
但是,如果要刪除表中所有的話,不推薦使用這種方法,因爲效率低
推薦使用TRUNCATE TABLE 表名; 效率更高 先刪除表,然後再創建一張一樣的表。 - 修改數據:update 表名 set 列名1 = 值1, 列名2 = 值2,... [where 條件];
注意:如果不加條件,則會將表中的記錄全部修改
總結:DML語句用來操作表中的數據,主要對數據進行增刪改操作,主要有insert 、delete、update三個關鍵字