MySQL(⼀)数据库和表的基本操作篇⼀、登录MySQL
mysql -h hostname -u username -p // 例:mysql - h localhost -u root -p
⼆、数据库的基本操作
1、创建、查看数据库(CREATE、SHOW)
CREATE DATABASE 数据库名称; // 创建
SHOW DATABASES; // 查看
SHOW CREATE DATABASE 数据库名称; // 查看某个已存在的数据库的信息
2、修改数据库(ALTER)
(1)修改数据库编码:可以使⽤ ALTER DATABASE 语句实现。
ALTER DATABASE 数据库名称 DEFAULT CHARACTER SET 编码⽅式 COLLATE 编码⽅式_bin;
3、删除数据库(DROP)
DROP DATABASE 数据库名称;
三、数据表的基本操作
1、创建数据表 CREATE
CREATE TABLE 表名 (
字段名1 数据类型 [完整性约束条件],
字段名2 数据类型 [完整性约束条件],
......
字段名n 数据类型 [完整性约束条件]
)[ENGINE=驱动]; // 例如,ENGINE=MyISAM; 此[]内的部分⼤多数情况可以省略
2、查看数据表 SHOW、DESCRIBE
2.1 Show⽅法
(1)列出当前数据库所有的表
SHOW TABLES;
(2)查看某个数据表的具体信息
SHOW CREATE TABLE 表名;
2.2 Describe ⽅法
(1)查看某个数据表的具体信息
DESCRIBE 表名; // 或者简写为: DESC 表名;
3、修改数据表 ALTER
(1)修改表名 RENAME
ALTER TABLE 旧表名 RENAME [TO] 新表名; // [] 表⽰其中的内容可选
(2)修改字段名 CHANGE
ALTER TABLE 表名 CHANGE 旧字段名新字段名新数据类型;
(3)修改字段的数据类型 MODIFY
ALTER TABLE 表名 MODIFY 字段名数据类型;
(4)添加字段 ADD
ALTER TABLE 表名 MODIFY 字段名数据类型;
(5)删除字段 DROP
ALTER TABLE 表名 DROP 字段名;
(6)修改字段的位置
ALTER TABLE 表名 MODIFY 字段名1 数据类型 [FIRST]|[AFTER 字段名2] // 置为最前 FIRST;置在字段2 之后 AFTER 字段名2;
4、删除数据表 DROP
DROP TABLE 表名;
5、表的约束
No.约束条件说明
1PRIMARY KEY主键约束,⽤于唯⼀标识对应的记录
2FOREIGN KEY外键约束
3NOT NULL⾮空约束
4UNIQUE唯⼀性约束
5DEFAULT默认值约束,⽤于设置字段的默认值
5.1 主键约束
主键约束对应字段不能重复,且不能为NULL。
(1)单字段主键
字段名 数据类型 PRIMARY KEY;
(2)多字段主键
PRIMARY KEY(字段名1, 字段名2, 字段名3...);
5.2 ⾮空约束
字段名 数据类型 NOT NULL; // 标识指定字段不能为空
5.3 唯⼀约束
字段名 数据类型 UNIQUE; // 表中字段的值不能重复出现
5.4 默认约束
字段名 数据类型 DEFAULT 默认值;
6、设置表的字段值⾃动增加 AUTO_INCREMENT
AUTO_INCREMENT 约束的字段可以是任何整数类型,默认该字段从 1 开始⾃增。
字段名 数据类型 AUTO_INCREMENT;
7、索引
7.1索引类型
No.索引类型定义⽅法说明
1普通索引KEY 或者 INDEX
定义
基本索引类型
2唯⼀性索引UNIQUE该索引所在字段的值必须是唯⼀的
3全⽂索引FULLTEXT 只能创建在 CHAR、VARCHAR 或 TEXT 类型的字段上(现在只有MyISAM 存储引擎⽀持全⽂索引)
4单列索引在表中单个字段上定义的索引
5多列索引在表中多个字段上创建索引,只有在查询条件中使⽤了这些字段中的第⼀个索引时,该索引才会被使⽤
mysql创建表数据类型6空间索引SPATIAL 只能创建在空间数据类型的字段上,GEOMENTRY、POINT、LINESTRING、POLYGON。创建空间索引字段,必须声明为 NOT NULL,并且空间索引只能在存储引擎为 MyIASM 的表中创建。
7.2创建索引
(1)创建表时创建索引
CREATE TABLE 表名(
字段名1 数据类型 [完整性约束条件],
字段名2 数据类型 [完整性约束条件], ...
[UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY [别名] (字段名[(长度)] [ASC|DESC])
);
[ ] 中的内容可选;
UNIQUE 表⽰唯⼀索引;FULLTEXT 表⽰全⽂索引;SPATIAL 表⽰空间索引;
INDEX 和 KEY 表⽰当前字段为索引,⼆选⼀;
“长度”,可选,表⽰索引的长度;
ASC 表⽰升序排列,DESC 表⽰降序排列。
注:判断索引是否被使⽤,可以使⽤ EXPLAIN 语句进⾏查看,
EXPLAIN SELECT * FROM 表名 WHERE 字段名=1 [\G]; // 带"\G"时,不要命令后⾯的分号
(2)使⽤ CREATE INDEX 语句在已经存在的表上创建索引
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引别名 ON 表名 (字段名[(长度)] [ASC|DESC]);
(3)使⽤ ALTER TABLE 语句在已经存在的表上创建索引
ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引别名 (字段名[(长度)] [ASC|DESC]);
7.3 删除索引
(1)使⽤ ALTER TABLE 删除索引
ALTER TABLE 表名 DROP INDEX 索引名;
(2)使⽤ DROP INDEX 删除索引
DROP INDEX 索引名 ON 表名;
注:更多阅读:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论