最近在做mysql数据库迁移的时候,出了很多问题,有自己的粗心大意,也有对mysql的不熟悉,因此决定从头开始认真巩固mysql基础!
我选取了《mysql 5.5从零开始学》并佐以《高性能mysql》希望能在数据库这块有更深的认识
DESCRIBE table
查看表结构
查看表详情
show create table
修改表名
alter table 旧表名 rename 新表名
修改字段的数据类型
alter table 表名 modify 属性名 数据类型;
修改字段名
alter table 表名 change 旧属性名 新属性名 新数据类型;
增加字段
alter table 表名 add 属性名1 数据类型 【完整性约束条件】 【first | after 属性2】
first 与 after可选,first是将新增字段设置是为表第一个字段,after是指将添加字段
放在after指定的属性后面
删除字段
alter table 表名 drop 属性名
在存在的表上创建索引
create [ UNIQUE | FULLTEXT | SPATIAL ] INDEX 索引名
on 表名 (属性名 【(长度)】 【 asc | desc 】);
解说:unique 是可选,表示索引是唯一索引
fulltext 表全文索引
spatial 表空间索引
index 参数用来指定字段为索引的。
“索引名”参数是给创建的索引取的新名称
表名 参数指需要创建索引的表的名称,该表必须是存在的,若不存在则需创建
属性名 指定索引对应的字段的名称,该字段必须是定义好的字段
长度 是可选参数,其指索引的长度,必须是字符串类型才可以使用,
asc和desc都是可选,前者代表升序,后者代表降序排列
用alter table 创建索引
alter table 表名 add [ UNIQUE | FULLTEXT | SPATIAL ] INDEX 索引名(属性名 【(长度)】 【 asc | desc 】);
删除索引
drop index 索引名 on 表名;
1,创建数据库
mysql> create database cxsz; Query OK, 1 row affected (0.03 sec)
2,查看创建的数据库相关信息
mysql> show create database cxsz; +----------+-----------------------------------------------------------------+ | Database | Create Database | +----------+-----------------------------------------------------------------+ | cxsz | CREATE DATABASE `cxsz` /*!40100 DEFAULT CHARACTER SET latin1 */ | +----------+-----------------------------------------------------------------+ 1 row in set (0.00 sec)
3,删除数据库
drop database cxsz;
4,查看默认的存储引擎
mysql> show variables like 'storage_engine'; +----------------+--------+ | Variable_name | Value | +----------------+--------+ | storage_engine | InnoDB | +----------------+--------+ 1 row in set (0.00 sec)
5,创建数据表
所谓创建数据表就是在已经建好的数据库中创建表,创建表的过程是规定数据列的属性的过程,同时也是实施数据完整性约束的过程。
create table<table_name> ( 字段名1,数据类型【列级别约束条件】[默认值], . . . [表级别约束条件] );
6,使用主键约束
主键,又称主码,是表中一列或多列的组合,主键约束(primary key constarint)要求主键列的数据唯一,并且不允许为空。
主键能够惟一的标识表中一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库的查询速度。主键和记录
之间的关系如同身份证和人之间的关系。二者一一对应。主键分2种类型:单字段主键和多字段联合主键
单字段主键
主键由一个字段组成,sql语句格式分以下2种情况
在定义列的同时指定主键,语法规则如下
字段名 数据类型 PRIMARY KEY [默认值]
END!