声明:本文大部分来自火星小编的博客-Mysql基础,重新写一遍仅是为了学习、做笔记之用,侵删!~
数据库的操作分为两大部分: 数据库和表的创建、数据库和表内容的操作
- 数据库
database
操作:创建库、删除库、备份库、恢复库- 表
table
操作:创建表、删除表、表结构设计- 记录
record
操作:
- 增 insert
- 删 delete
- 改 update
- 查 select
- 数据排序(order by)
- 模糊查询(
like
、in
、between···and
)- 使用聚集函查询
- 分组查询
- 多表查询
1. 数据库操作
1.1. 显示数据库
show database
1.2. 创建数据库
// utf-8
CREATE DATABASE db_name DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
// gbk
CREATE DATABASE db_name DEFAULT CHARSET gbk COLLATE gbk_chinese_ci;
1.3 打开数据库
USE db_name;
// notice: 每次使用数据库必须打开相应数据库
2. 表操作
2.1. 显示数据库中所有表
use db_name;
show tables;
2.2. 创建数据表
create table 表名(
列名 类型 是否可以为空,
列名 类型 是否可以为空,
列名 类型 是否可以为空
) ENGINE = InnoDB DEFAULT CHARSET=utf8
设置是否为空
是否可空, null表示空,非字符集
not null - 不可空
null - 可空
设置默认值
默认值,创建列时可以指定默认值,当插入数据时如果未主动设置,则自动添加默认值
create table tbl (
nid int not null default 2,
num int not null
);
设置自增
如果为某列设置自增,插入数据时无需设置此列,默认将自增(表中只能有一个自增列)
create table tbl (
nid int not null auto_increment primary key,
num int null
)
或
create table tbl (
nid int not null auto_increment,
num int null,
index(nid)
)
注意:1. 对于自增列,必须是索引(含主键)
2. 对于自增可设置步长和起始值
show session variables like `auto_inc%`;
set session auto_increment_increment = 2;
set session auto_increment_offset = 10;
show global variables like 'auto_inc%';
set global auto_increment_increment = 2;
set global auto_increment_offset=10;
设置主键
主键,一种特殊的唯一索引,不允许有空值,如果主键使用单个列,则它的值必须唯一,如果是多列,则其组合必须唯一。
create table tbl (
nid int not null auto_increment primary key,
num int null
);
create table tbl (
nid int not nul,
num int not null,
primary key (nid, num)
);
设置外键
外键,一个特殊的索引,只能是指定内容
create table color (
nid int not null primary key,
name varchar(16) not null
)
create table fruit(
nid int not null primary key,
smt varchar(32) not null,
color_id int not null,
constrant fk_cc foreign key (color_id) reference color(nid)
)
2.3 删除表
drop table table_name
2.4 清空表
delete from table_name
truncate table table_name
2.5.基础数据类型
MySQL的数据类型大致分为:数值、时间和字符串
数据类型 | 说明 |
---|---|
bit [(m)] |
二进制位(1010001), m表示二进制位的长度(1-64), 默认m=1 |
tinyint[(m)] [unsigned] [zerofill] | 小整数,数据类型用于保存一些范围的整数数值范围 有符号:-128~127, 无符号:0~255 整数类型中的m仅用于显示,对存储范围无限制,例如:int(5),当插入数据2时,select显示为:00002 |
int [(m)] [unsigned] [zerofill] |
整数,数据类型用于保存一些范围的整数数值范围:有符号: 有符号:-2147483648 ~ 2147483647 无符号:0 ~ 4294967295 |
bigint |
大整数 |
decimal [(m[,d])] |
准确的小数值,m是数字总个数(负号不算),d是小数点后个数,m最大值为65,d最大值为30 特别的:对于精确计算时需要用此类型 |
FLOAT(M[, D]) | 单精度浮点数,M是数字总个数,d是小数点后个数 |
DOUBLE(M[, D]) | 双精度浮点数,m是数字总个数,d是小数点后个数 |
char | 最多可包含255个字符 |
varchar | 最多可包含255个字符 |
text | 最多可包含65535个字符 |
medium筋络 | 2^24个字符 |