数据库

**数据库:**
创建数据库          create database 数据库名称;
删除数据库          drop database 数据库名称;
查看数据库         show  databases;
查看已经存在的数据库信息          show database 数据库名称
修改数据库编码  的语法格式
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

 


**数据表**

进入数据库 : 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 表名;

 
 
 **表的约束**
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 表名;
 
 
 
 
posted @ 2020-10-15 17:30  xfx#n  阅读(75)  评论(1)    收藏  举报