一份完整的Linux下mysql相关命令
()中的内容可省略
功能 | 条件 | 代码 |
---|---|---|
mysql进入命令 | mysql -u账户 -p密码 (-h ip -P端口) | mysql -uroot -p123456 |
搜索当前数据库 | show databases;注意分号 | show databases; |
创建数据库 | create database 数据库名字 | create database `t1`; |
进入数据库 | use 数据库名字 | use t1;(小引号可以不加) |
指定字符类型 | set names utf8(gbk) | set names utf8(gbk); |
查看数据表 | show tables | show tables ; |
创建数据表(未加具体字段) | create table 表名 | create table user; |
删除数据库 | drop database 你的数据库 | drop database `t1`; (友情提示,这个少用) |
建表时的报错信息
错误 | 错误信息 | 修改 |
---|---|---|
表不能没有字段 | ERROR 1113 (42000): A table must have at least 1 column | create table user(`id` int(11) NOT NULL AUTO_INCREMENT); |
表定义不正确;只能有一个自动列,它必须被定义为键 | Incorrect table definition; there can be only one auto column and it must be defined as a key | create table user(id int(11) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id )); |
一个简单表就创建完成了
数据表导入导出操作
都得有一个提前建好的空数据库
功能 | 条件 | 代码 |
---|---|---|
导入数据库 | ftb将sql文件传入Linux服务器中 | source /root/user.sql(这个sql的目录要找对,可以使使用pwd命令) |
导入数据库 | mysql -u账号 -p密码 数据库名 < 数据库.sql | mysql -uroot -p123456 t1 < user.sql |
导出数据库 | mysql -u账号 -p密码 -d 数据库名 > 数据库.sql | mysqldump -uroot -p123456 -d t1>test.sql |
数据表索引的简单操作
功能 | 条件 | 代码 |
---|---|---|
查询创建数据表结构 | show create table 表名\G; | show create table user\G;(\G序列化,更好看一些) |
查询数据表结构 | desc 表名; | desc user; |
查询数据表索引 | show keys(index) from 表名; | show keys(index) from user; |
查看执行sql的时间 | desc(或explain) select * from 表名 where 条件; | desc select select * from user where a=1111; |
给数据表添加索引 | alter table user add key 索引名称 (要添加的表字段 ); | alter table user add key idx_a(`a`) |
删除数据表中的某一索引 | drop index 索引名称 on 表名; | drop index idx_a on user; |
索引类型相关
索引类型 | 添加命令 | 具体命令 |
---|---|---|
主键索引 | ALTER TABLE 表名 ADD PRIMARY KEY ( '表字段 ’ ) | ALTER TABLE `t1` ADD PRIMARY KEY ( `a` ) |
唯一索引 | ALTER TABLE 表名 ADD UNIQUE ( 表字段 ) | ALTER TABLE `t1` ADD UNIQUE ( `a` ) |
普通索引 | ALTER TABLE 表名 ADD INDEX 索引名称( 表字段 ) | ALTER TABLE `t1` ADD INDEX index_name ( `a` ) |
全文索引 | ALTER TABLE 表名 ADD FULLTEXT ( 表字段 ) | ALTER TABLE `t1` ADD FULLTEXT ( `a`) |
联合索引 | ALTER TABLE 表名 ADD INDEX 索引名称 ( 字段1 , 字段2 , 字段3 ) | ALTER TABLE `t1` ADD INDEX index_name ( `a`, `b`, `c` ) |