MySQL基本操作
增
- 創建一個新的數據庫 create database [if not exists] dbname;
- 創建一個新的數據庫並指定字符編碼:
- create database if not exists dbname default character set utf8;
- 創建數據表:
create table [if not exists] tabname(
列名 數據類型和長度 列屬性,
列名 數據類型和長度 列屬性,
列名 數據類型和長度 列屬性,
列名 數據類型和長度 列屬性
);
- 插入記錄 insert into tabname value(數據列表);
- 指定字段插入記錄 insert into tabname(字段名) value(數據列表);
- 在表中添加新的字段 alter table tabname add 字段名 字段定義 [first|after 列名];
- 添加主鍵 alter table tabname add primary key (主鍵名);
刪
- 刪除數據庫 drop database [if exists] dbname;
- 刪除一張表 drop table [if exists] tabname;
- 刪除一個字段 alter table tabname drop 字段名;
- 刪除所有記錄 delete from tabname;
- 刪除符合條件的記錄 delete from tabname where 字段名 = 字段值;
- 刪除主鍵 alter table tabname drop primary key;
改
- 修改數據庫默認的編碼 alter database dbname default character set utf8 collate utf8_bin;
- 修改表的字段的數據類型 alter table tabname modify 字段名 字段定義;
- 修改表的字段名 alter table tabname change 舊字段名 新字段名 新字段定義;
- 修改記錄中字段的值 update tabname set 字段名 = 新值 where 字段名 = 匹配值;
- 修改表名 alter table tabname rename [to] 新表名;
查
- 選擇數據庫 use dbname;
- 顯示所有數據庫 show databases;
- 查看數據庫的創建信息 show create database dbname;
- 查看錶的定義 show create table tabname;
- 顯示數據庫中的所有表 show [full] tables [{from|in} dbname];
- 查看錶的創建信息 desc tabname;
- 查詢正在使用的數據庫 select databace();
- 查詢記錄 select * from tabname;
數據類型
數據類型 |
標識符 |
大小 |
範圍(有符號/無符號) |
微整數 |
tinyint |
1B |
(-128,127/0,255) |
小整數 |
smallint |
2B |
(-32768,32767/0,65535) |
中整數 |
mediumint |
3B |
(±8388608/16777215) |
整數 |
int |
4B |
(±2147483648) |
大整數 |
bigint |
8B |
(±9223372036854775808) |
單精度 |
float |
4B |
(IEEE754) |
雙精度 |
double |
8B |
(IEEE754) |
定點數 |
decimal |
- |
(看情況) |
日期 |
date |
3B |
(1000-01-01/9999-12-31) |
時間 |
time |
3B |
(-838:59:59/838:59:59) |
日期時間 |
datetime |
8B |
(9999-12-31 23:59:59) |
時間戳 |
timestamp |
4B |
(2038-1-19 11:14:07) |
字符串 |
char(255) |
255B |
(0-255) |
長字符串 |
varchar |
65KB |
(0-65536) |
短文本 |
tinytext |
255B |
(0-255) |
文本 |
text |
65KB |
(0-65536) |
中文本 |
mediumtext |
16MB |
(0-16777215) |
長文本 |
longtext |
4GB |
( 0-4294967295) |
表約束
約束類型 |
描述 |
約束對象 |
not null |
列的值不能爲空 |
列 |
auto_increment |
列的時自動增加(只能和主鍵或唯一配合使用) |
列 |
default |
設置列的默認值 |
列 |
primary key |
設置爲主鍵,鍵不能重複,不能爲空 |
行 |
unique |
設置爲唯一鍵,該列不能重複 |
行 |
foreign key |
設置爲外鍵 |
表 |
comment |
字段描述 |
- |
添加約束
- 添加自增長 alter table tabname modify 字段名 字段定義 auto_incremant;
- 添加非空約束 alter table tabname modify 字段名 字段定義 not null;
- 添加唯一約束 alter table tabname add key [constraint 約束名] unique(字段名);
- 添加默認值 alter table tabname change column 字段名 字段定義 default 默認值;
刪除約束
- 刪除非空約束 alter table tabname modify 字段名 字段定義 null;
- 刪除默認值 alter table tabname alter 字段名 drop default;
- 刪除唯一約束 alter table tabname drop key 約束名;(約束名默認爲字段名)