Mysq

Posted on   -=-  阅读(54)  评论(0编辑  收藏  举报

Mysql相关命令

(\?) 显示帮助信息
clear (\c) 清楚当前输入语句
connect (\r) 连接到服务器,可选参数为数据库和主机
delimiter (\d) 设置语句分隔符
ego (\G) 发送命令到MySQL服务器,并显示结果
exit\quit (\q) 退出MySQL
go (\g) 发送命令到MySQL服务器
help (\h) 显示帮助信息
notee (\t) 不写输出文件
print (\p) 打印当前命令
prompt (\R) 改变MySQL提示信息
rehash (\#) 重建完成散列
source (\.) 执行一个SQL脚本文件,以一个文件名作为参数
status (\s) 从服务器获取MySQL的状态信息
tee (\T) 设置输出文件,并将信息添加到所有给定的输出文件夹
use (\u) 用另一个数据库,数据库名称作为参数
charset (\C) 切换到另一个字符集
warnings (\W) 每一个语句之后显示警告
nowarning (\w) 每一个语句之后不显示警告

查看你数据库的创建信息

SHOW CREATE DATABASE 库名;

修改数据库编码

ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 编码方式 COLLATE 编码方式_bin;

 数据类型

复制代码
整数型:
TINYINT
SMALLINT
MEDIUMINT
INT
BIGINT
浮点型和定数型
FLOAT
DOUBLE
DECIMAL(M,D)
时间与日期类型
YEAR      YYY
DATE      YYYY-MM-DD
TIME      HH:MM:SS
DATETIME   YYYY-MM-DD HH:MM:SS
TIMESTAMP    YYYY-MM-DD HH:MM:SS
字符串和二进制类型
CHAR    表示固定长度的字符串
VARCHAR    表示可变长度的字符串
BINARY    表示固定长度的二进制数据
VARBINARY    表示可变长度的二进制数据
BLOB    表示二进制大数据
TEXT    表示大文本数据
ENUM    表示枚举类型,只能存储一个枚举字符串值
SET    表示字符串对象,可以有零或多个值
BIT    表示位字段类型
复制代码

创建表

CREATE TABLE 表名
(
字段名 1,数据类型[完整约束条件],
.....
字段名 n,数据类型[完整约束条件],
);

查看创建的表

SHOW CREATE TABLE 表名;

查看表字段信息

DESCRIBE 表名;  #(DESC)缩写

 修改表名

ALTER TABLE 旧表名 RENAME [TO] 新表名;

修改字段名

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;

修改字段的数据类型

ALTER TABLE 表名  MODIFY 字段名 数据类型;

添加字段

ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件][FIRST|AFTER 已存在的字段名]
#FIRST,将新添加的字段设置为表的第一个字段
#AFTER,将新添加的字段添加到指定的‘已存在表字段’后边

删除字段

ALTER TABLE 表名 SROP 字段名;

修改字段排列位置

ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST|AFTER 字段名2
#字段1是要修改位置的字段,FIRST是把字段1改为表的第一个字段;AFTER是把字段1放在字段2后边

删除表

DROP TABLE 表名;

表约束

约束条件  
PRIMARY KEY 主键约束,用于唯一标识对应的记录
POREIGN KEY 外键约束
NOT NULL 非空约束
UNIQUE 唯一性约束
DEFAULT 默认值约束,设置字段默认值

主键约束

1、单子段主键
1
字段名 数据类型 PRIMARY KEY;
2、多字段主键
1
PRIMARY KEY (字段名1,字段名2....*);

非空约束

字段名 数据类型 NOT NULL;

唯一约束

字段名 字段类型 UNIQUE;
#被约束的字段不可重复

默认约束

字段名 字段类型 DEFAULT 默认值;

表字段值自动增加

字段名 字段类型 AUTO_INCREMENT;

索引

复制代码
#创建表时可以创建索引
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE TABLE 表名(字段名 数据类型 [约束条件],
                              ........
                             字段名 数据类型
                                 [UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY
                                 [别名] (字段名1 [(长度)] [ASC|DESC])
                             );
#UNIQUE:唯一索引
#FULLTEXT:全文索引
#SPATIAL:空间索引
INDEX和KEY:表示字段的索引
#别名:创建的索引名称
字段名1:指定索引对应字段的名称
#长度:表示索引的长度
#ASC和DESC:ASC表示升序排列,DESC表示降序排列。
----------------------------------------------------------
带有#的为可选参数
查看索引是否被使用
1
EXPLAIN SELECT * FROM 表名 WHERE 字段=筛选条件 \G

1、普通索引

1
2
3
4
5
CREATE TABLE TEST ( ID INT,
                     *
                    INDEX (ID)
                   );
#在ID上建立普通索引

2、唯一索引

1
2
3
4
5
CREATE TABLE TEST (ID INT,
                               *
                               UNIQUE INDEX TEST_ID(ID ASC)
                               );
#在表中ID字段建立索引,名为TEST_ID的唯一索引,安装升序排列

 

剩余索引皆与上方方法一致。

3、全文索引(目录前只有MyISAM存储引擎支持全文索引) 4、单列索引 5、多列索引 6、空间索引(创建索引时,所在字段的值不能为空值,并且表存储引擎为MyISAM)

使用 CREATE INDEX 在已经存在的表上创建索引

1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 ON 表名 (字段名 [(长度)] [ASC|DESC]);
#唯一索引:UNIQUE
#全文索引:FULLTEXT
#空间索引:SPATIAL
普通索引示例:
在TEST表的ID字段建立名为TEST_ID的普通索引
CREATE INDEX TEST_ID ON TEST(ID);
多列索引示例:
在TEST表中ID和NAME字段建立一个名为MYTEST的多列索引
CREATE INDEX MYTEST ON TEST(ID,NAME);
空间索引示例:
在TEST表的ID字段建立名为TEST_ID的普通索引
CREATE INDEX TEST_ID ON TEST(ID);
#剩下的索引均与上面方法类似

使用 ALTER TABLE 在已经存在的表上创建索引

1
2
ALTER TABLE  表名 ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 (字段名 [(长度)] [ASC|DESC]);
#此方法与CREATE INDEX的格式类似
复制代码

 

努力加载评论中...
点击右上角即可分享
微信分享提示