数据库
**数据库:**
创建数据库 create database 数据库名称;
删除数据库 drop database 数据库名称;
查看数据库 show databases;
查看已经存在的数据库信息 show database 数据库名称
创建数据库 create database 数据库名称;
删除数据库 drop database 数据库名称;
查看数据库 show databases;
查看已经存在的数据库信息 show database 数据库名称
修改数据库编码 的语法格式
alter database 数据库名称 default character set 编码方式 collate 编码方式_bin
注:数据库名称指的是要修改的数据库 ,编码方式指的是修改后的数据库编码
alter database 数据库名称 default character set 编码方式 collate 编码方式_bin
注:数据库名称指的是要修改的数据库 ,编码方式指的是修改后的数据库编码
**数据类型**
一、整数类型
数据类型 字节数
tinyint 1
smallint 2
mediumint 3
int 4
bigint 8
注:1个字节是8位
二、浮点数类型和定点数类型
浮点数类型分为单精度浮点数类型(FLOAT)和
双精度浮点数类型(DOUBLE)
定点数类型只有 DECIMAL
DECIMAL(M,D) 有效取值范围由M和D 决定,M表示的是数据的长度,D表示的是小数点后的长度
三、日期与时间类型
数据类型 字节数
YEAR 1
DATE 4
TIME 3
DATETIME 8
TIMESTAMP 4
YEAR类型中'0'和0表示的不一样,字符串‘0’表示的YEAR值是2000,数字格式0表示的YEAR值是0000
用CURRENT_TIMESTAMP来输入系统当前日期和时间
NOW()
四、字符串和二进制类型
数据类型 类型说明
char 表示固定长度的字符串
varchar 表示可变长度的字符串
binary 表示固定长度的二进制数据
varbinary 表示可变长度的二进制数据
blob 表示二进制大数据
text 表示大文本数据
enum 枚举类型,只能储存一个枚举字符串值
set
bit
一、整数类型
数据类型 字节数
tinyint 1
smallint 2
mediumint 3
int 4
bigint 8
注:1个字节是8位
二、浮点数类型和定点数类型
浮点数类型分为单精度浮点数类型(FLOAT)和
双精度浮点数类型(DOUBLE)
定点数类型只有 DECIMAL
DECIMAL(M,D) 有效取值范围由M和D 决定,M表示的是数据的长度,D表示的是小数点后的长度
三、日期与时间类型
数据类型 字节数
YEAR 1
DATE 4
TIME 3
DATETIME 8
TIMESTAMP 4
YEAR类型中'0'和0表示的不一样,字符串‘0’表示的YEAR值是2000,数字格式0表示的YEAR值是0000
用CURRENT_TIMESTAMP来输入系统当前日期和时间
NOW()
四、字符串和二进制类型
数据类型 类型说明
char 表示固定长度的字符串
varchar 表示可变长度的字符串
binary 表示固定长度的二进制数据
varbinary 表示可变长度的二进制数据
blob 表示二进制大数据
text 表示大文本数据
enum 枚举类型,只能储存一个枚举字符串值
set
bit
**表的约束**
1、主键约束:
a.单字段主键 : 字段名 数据类型 primary key
例:create table example01(
id int primary key,
name varchar(20)
); id 为主键约束
b.多字段主键:primary key(字段1,字段2,...字段n)
例:create table example02(
id int,
name varchar(20),
primary key (id,name)
); id,name都为主键约束
2、非空约束:字段名 数据类型 not null
例:create table example03(
id int primary key,
name varchar(20) not null
);
3、唯一约束:字段名 数据类型 unique
例:create table example04(
id int primary key,
name varchar(20),
stu_id int unique
);
4、默认约束:字段名 数据类型 default 默认值
例:create table example05(
id int primary key,
name varchar(20),
grade float default 0
); 字段grade的默认值为0
在已经创建完的表上添加约束:
alter table 表名 modify 字段名 数据类型 约束条件;
设置表的字段值自动增加:字段名 数据类型 auto_increment;
例:create table example06(
id int primary key auto_increment,
name varchar(20),
stu_id int
);
**索引**
Mysql通过建立索引来加快数据表的查询和排序
1、普通索引 2、唯一索引(unique)3、全文索引(fulltext)(只能创建在char、varchar或text类型的字段上)(4、单列索引 5、多列索引) 6、空间索引(spatial)(创建空间索引的字段,必须声明为not null)
1、创建普通索引
例:create table t1(
id int ,
name varchar(20),
score float,
index (id)
);
2、创建唯一索引 (在id上创建索引名为unique_id的唯一索引)(ASC表示升序,DESC表示降序)
例:create table t1(
id int ,
name varchar(20),
score float,
unique index unique_id(id ASC)
);
在已经存在的表上创建索引:
1、create index 语句
create[unique|fulltext|spatial] index 索引名 on 表名 (字段名[(长度)] [asc|desc]);
2、alter table 语句
alter table 表名add [unique|fulltext|spatial] index 索引名 (字段名[(长度)] [asc|desc]);
删除索引:
1、 alter table 表名 drop index 索引名;
2、 drop index 索引名 on 表名;

浙公网安备 33010602011771号
**数据表**
进入数据库 : use 数据库名称;
创建数据表:
create table 表名
(
字段名1 数据类型 [完整性约束条件],
字段名2 数据类型 [完整性约束条件],
......
字段名n 数据类型 [完整性约束条件]
);
查看数据表 : show create table 表名;
show create table 表名\G; (结果更美观)
describe 表名(也可以写为 desc 表名);
修改数据表
1、修改表名:alter table 旧表名 rename [to] 新表名;
2、修改字段名:alter table 表名 change 旧字段名 新字段名 新数据类型;
3、修改字段的数据类型:alter table 表名 modify 字段名 数据类型;
4、添加字段:alter table 表名 add 新字段名 数据类型 [约束条件][first|after已存在的字段名];
5、删除字段:alter table 表名 drop 字段名;
6、修改字段的排列位置: alter table 表名 modify 字段名1 数据类型 first|after 字段名2;
7、删除数据表:drop table 表名;