DDL(數據庫定義語言):
1.操作數據庫:CRUD
1.Create:創建
創建數據庫:
create database 數據庫名稱;
創建數據庫,判斷不存在,再創建:
create database if not exists 數據庫名稱;
創建數據庫,並指定字符集:
create database 數據庫名稱 character set 字符集名;
2.R(Retrieve):查詢
查詢所有數據庫的名稱:
show database;
查詢某個數據庫的字符集:查詢某個數據庫的創建語句:
show create database 數據庫名稱;
3.U(Update):修改
修改數據庫的字符集:
alter database 數據庫名稱 character set 字符集名稱;
4.D(Delete):刪除
刪除數據庫:
drop database 數據庫名稱;
判斷數據庫存在,存在刪除數據庫:
drop database if exists 數據庫名稱;
5.使用數據庫:
查詢當前正在使用的數據庫名稱:
select database();
使用數據庫
use 數據庫名稱;
2.操作表
1.C(Create):創建
1.語法:
create table 表名(
列名1 數據類型1,
列名2 數據類型2,
……
列名n 數據類型n
);
注意:最後一列 不需要加逗號(,)
數據庫類型:
1.int:整數類型
2.double:小數類型
3.date:日期 只包含年月日 yyyy-MM-dd
4.datetime:日期 包含年月日時分秒 yyyy-MM-dd HH:mm:ss
5.timestamp:時間戳類型 包含年月日時分秒 yyyy-MM-dd HH:mm:ss
若不給該類型字段賦值 或賦值爲null 則默認使用當前系統時間來自動賦值
6.varchar:字符串
name varchar(20); name字段最大存20個字符
創建表:
create table student(
id int,
name varchar(32),
age int,
score double(4,1),
birthday date,
insert_time timestamp
);
複製表:
create table 表名 like 被複制的表名;
2.R(Retrieve):查詢
查詢某個數據庫中所有的表名稱:
show tables;
查詢表結構:
desc 表名;
3.U(Update):修改
1.修改表名
alter table 表名 rename to 新的表名;
2.修改表的字符集
alter table 表名 character set 字符集名稱;
3.添加一列
alter table 表名 add 列名 數據類型;
4.修改列名稱 類型
alter table 表名 change 列名 新列名 新數據類型;
alter table 表名 drop 列名;
4.D(Delete):刪除
drop table 表名;
drop table if exists 表名;
DML:增刪改查表中數據
1.添加數據:
語法:
insert into 表名(列名1,列名2,...列名n) values (值1,值2,...值n);
注意:
1.列名和值要一一對應.
2.如果表名後 不定義列名,則默認給所有列添加值
insert into 表名 values(值1,值2,...值n);
3.除了數字類型,其他類型需要使用引號(單雙都可以)包裹起來.
2.刪除數據:
語法:
delete from 表名 [where 條件]
注意:
1.如果不加條件,則刪除表中所有記錄.
2.如果要刪除表中所有數據
1.delete from 表名; -- 不推薦使用,有多少條記錄就會執行多少次刪除操作4
2.truncate table 表名; -- 推薦使用,效率更高 先刪除表,然後再創建一張一樣的表
3.修改數據:
語法:
update 表名 set 列名1 = 值1, 列名2 = 值2, ... [where 條件];
注意:
1.如果不加任何條件,則會將表中所有記錄全部修改