MySQL常用命令
一、MySQL目录结构
bin目录,存储可执行文件
data目录,存储数据文件
docs,文档
include目录,存储包含的头文件
lib目录,存储库文件
share,错误消息和字符集文件
my.ini 配置文件
二、常用命令
net start mysql 启动MySQL服务
net stop mysql 停止MySQL服务
-h 服务器名称
-p 密码
-P 端口号
-u 用户名
exit 退出
quit 退出
\q 退出
select version(); 显示当前服务器版本
select now(); 显示当前日期时间
select user(); 显示当前用户
1、操作数据库
show databases; 查看数据库
create database db_name; 创建数据库
alter database db_name character set = charset_name; 修改数据库编码
drop database db_name; 删除数据库
use db_name; 打开数据库
2、操作表
show tables [ from db_name ]; 显示某数据库中的所有表
show index from table_name [ from db_name ]; 显示某表中的索引信息
show columns from table_name [ from db_name ]; 显示某表中的所有列的信息
desc table_name; 查看表结构
create table 表名(列名 类型 约束,……); 创建表
drop table 表名1,表名2……; 删除表
select * from 表名; 查询所有列
3、操作列(字段)
alter table 表名 add 列名 数据类型; 增加列
alter table 表名 drop 列名; 删除列
alter table 表名 modify [column] 列名 类型; 更改列
alter table 表名 change 旧列名 新列名 类型; 更改列
alter table 旧表名 rename 新表名; 重命名表
4、操作数据
向表中插入数据:
insert into 表名 [(列名,……)] values(值表达式,……);
insert into 表名 set 列名=值表达式,……
insert into 表名1[(列名,……)] select {*|列名,……} from 表名2;
更新表中数据:
update 表名 set 列名 = 更新后的值,…… where 条件子句;
删除表中的数据:
delete from 表名 where 子句
* 创建表结构语法
not null 不能为空
null 允许为空,默认值
default 指定默认值
unique 唯一值,允许为null
unsigned 无符号整数
auto_increment 自增
md5('值') 加密函数,字符串类型
md5加密数据更新:
update 表名 set 加密字段=md5('值') [ where 子句 ];
md5加密数据查询:
select * from 表名 where 字段=值 and 加密字段=md5('值'); 适用于用户登录的时候
primary key 主键约束,一个表只能有一个主键,主键一定要为not null
foreign key 外键约束
5、外键约束的要求:
(1)、父表和子表必须使用相同的存储引擎,而且禁止使用临时表;
(2)、数据表的存储引擎只能为INNODB;
(3)、外键列和参照列必须具有相似的数据类型,其中数字的长度或是否有符号为必须相同;而字符的长度则可以不同;
(4)、外键列和参照列必须创建索引,如果外键列不存在索引的话,MySQL将自动创建索引。
6、外键约束的参照操作:
(1)、cascade:从父表删除或更新时自动删除或更新子表中匹配的行;
(2)、set null:从父表删除或更新行,并设置子表中的外键列为null,如果使用该选项,必须保证子表列没有指定not null;
(3)、restrict:拒绝对父表的删除或更新操作;
(4)、no action:标准SQL的关键字,在MySQL中与restrict相同。
foreign key (子表外键) references 父表名 (父表主键); 建立外键索引
insert 子表名(列名,外键) values(值,主键索引); 子表添加数据
ON DELETE CANSCADE ON UPDATE CANSCADE
show indexs from 表名\G; 查看索引
show create table 表名; 查看创建表sql语句
7、数据查询
where 限定查询的结果集
group by 分组查询
having 对分组后的数据进行筛选,配合group by使用
order by 对查询结果进行排序,排序方式:desc 降序,asc 升序