跳转:全局性命令,mysql中内置函数调用,数据库层相关操作, 数据表相关操作,数据的增删改查,索引的创建删除**
全局性命令
- 连接命令:
mysql -u用户 -p密码
- 退出命令:
quit 或者 exit 或者 ctrl+d
- 数据库备份
# 将指定数据库中的内容备份到指定文件名的sql文件中 mysqldump -u用户名 -p密码 数据库名 > 备份文件名.sql;
- 基于备份文件的数据库恢复
# 第一步,在数据库中创建新的数据库 # 第二步,数据库之外执行如下命令 mysql -u用户名 -p密码 新数据库名 < 备份文件名.sql
mysql中内置函数调用
```
select version(); # 查看版本
select now(); # 显示当前时间
select database(); # 查看当前使用的数据库
select from_unixtime(time_stamp) from ... ; 查询语句中将时间戳转换为日期格式时间
```
数据库层相关操作
- 查看所有数据库:
show databases;
- 使用指定数据库:
use 数据库名;
- 创建数据库:
create database 数据库名 charset=utf8; # 不指明utf8也行,但是会使用默认的ascii编码,不能支持中文
- 删除数据库:
drop database 数据库名;
数据表相关操作
- 查看当前数据库所有表
show tables;
- 查看表结构:
desc 表名;
- 查看表的创建语句:
show create table 表名;
- 创建表:
# table_name:表名,column:列名,datatype:数据类型,constraint:约束 create table table_name( column1 datatype constraint, column2 datatype, ... );
- 修改表名称
alter table 表名 rename to 新表名
- 修改表内容
alter table 表名 add 列名 类型; # 添加字段 alter table 表名 add 列名 类型 default 默认值; # 添加字段,并设置默认值 alter table 表名 change 原列名 新名 类型及约束; # 修改字段名称及类型 alter table 表名 modify 列名 类型及约束; # 修改表字段类型及约束 alter table 表名 drop 列名; # 删除字段
- 删除表:
drop table 表名;
数据的增删改查
- 增加:
# 插入一行部分列数据 insert into 表名(列1,...) values(值1, ...); # 插入多行部分列 insert into 表名(列1,...) values(值1, ...),(值1, ...) ...; # 全列多行插入 insert into 表名 values(...),(...),...; # values后面跟字段内容 # 注:尽量使用多行多列的批量操作,理由是减少与数据库的通信以提升效率
- 删除:
# 删除指定行 delete from 表名 where 条件;
- 修改:
# 对指定行的列值进行修改 update 表名 set 列1=值1, 列2=值3, ... where 条件;
- 查询:
# 查询所有列 select * from 表名; # 查询指定列 select 列1,列2,... from 表名;
索引的创建删除
- 增加索引:
ALTER TABLE test_order ADD INDEX `idx_accountid_outtradeno` (`account_id`, `out_trade_no`)
- 删除索引:
DROP INDEX idx_accountid_outtradeno ON test_order