MySQL操作
- 进入mysql安装目录的bin目录,如:
- cd e:\mysql\bin
进入mysql
mysql -u root -p
输入密码即可进去
修改密码
设置密码为123456
mysqladmin -u root -p password 123456
启动或关闭MySQL服务
启动
net start mysql
关闭
net stop mysql
MySQL目录结构
目录 | 作用 |
---|---|
Bin | mysql应用程序目录 |
Data | 数据目录 |
Docs | 文档 |
Include | 头文件 |
Lib | 库文件 |
Mysql-test | 测试目录 |
Share | 存放字符集及不同语言信息 |
Sql-bench | 压力测试工具 |
Mydefault.ini | mysql配置文件 |
备份与恢复
备份数据库
mysqldump -uroot -p123456 --database <数据库名> > f:\<数据库名>.sql
恢复数据库
mysql -uroot -p123456<f:<数据库名>.sql
存储引擎
查看存储引擎
Show engines
常见的三种存储引擎
Innodb
- 对数据完整性要求严格,支持事务和外键,读写速度一般,可以持久保存
Myisam
- 不支持事务和外键,读写快,可以持久保存,对完整性没有要求
menory
- 不支持事务和外键,读写快,不能持久保存,对完整性没有要求
DDL语言
- 需要启动mysql在mysql>标签下执行
库操作
用utf-8创建库
扫描二维码关注公众号,回复:
2806837 查看本文章
Create database <数据库名> default charset utf8 collate utf8_general_ci;
查看系统中的所有数据库
SHOW databases
使用某个数据库
Use <数据库名>
删除数据库
DROP DATABASE <数据库名>
切换数据库
use <数据库名>;
表操作
查看数据库中的表
show tables;
查看表结构
desc <表名称>;
MySQL数据类型
类型 | 特性 |
---|---|
INT | 整形 |
FLOAT | 单精度 |
DOUBLE | 双精度 |
DATE | 年月日,2018-01-01 |
DATETIME | 年月日,时分秒,2018-01-01 12:01:01 |
TIMESTAMP | 毫秒值的时间表达形式 |
VARCHAR | 字符类型,括号中参数可以设置字符个数上限 |
约束种类
约束 | 作用 |
---|---|
NOT NULL | 不为空 |
NULL | 可以为空 |
PRIMARY KEY | 设置为主键 |
UNIQUE KEY | 设置为唯一 |
AUTO_INCREMENT | 设置为自增 |
DEFAULT | 设置默认值 |
COMMENT’String’ | 字段的注释 |
ENGINE | 指定表的存储引擎 |
创建表
创建表
create table <表名称> ( id int,name varchar(10));
创建表并增加约束
CREATE TABLE <表名称> (
id INT(11) NOT NULL PRIMARY KEY,
NAME VARCHAR(10) NOT NULL UNIQUE KEY)
复制表
只复制表结构及约束,但不复制数据
CREATE TABLE <表名称> LIKE hero_table4
复制表结构及数据,但不复制约束
CREATE TABLE <表名称> AS SELECT * FROM hero_table4
修改表
Alter table <表名> <修改选项>
添加
添加字段
ALTER TABLE <表名称> ADD COLUMN <字段名> <字段类型> [约束条件]
添加索引
ALTER TABLE <表名称> ADD INDEX idx_<表名称>_<字段名> (<字段名>)
添加主键
ALTER TABLE <表名称> ADD PRIMARY KEY ( <设置为主键的字段> )
添加外键约束
ALTER TABLE <添加约束的表> ADD
FOREIGN KEY fk_<添加约束的表名称>_<约束条件所在的表>(<需要约束的字段>)
REFERENCES <约束条件所在的表>(约束的字段)
- 设置一个表中的某一列中的数据必须来自于另一个表中的某一列
- fk_<添加约束的表名称>_<约束条件所在的表>,这一段相当于为约束关系起的名字,可以随意但是推荐这种格式便于阅读
修改
修改表的名称
ALTER TABLE <表名称> RENAME <新的表名称>
修改字段名称
注意字段类型的兼容性及精度,除非该列全部数据为null
ALTER TABLE <表名称> CHANGE COLUMN <旧的字段名> <新的字段名> <字段类型>
修改字段类型
注意兼容性及精度,除非该列全部数据为null
ALTER TABLE <表名称> MODIFY COLUMN <字段名> <新的字段类型>
修改字段约束,设置默认值
ALTER TABLE <表名称> ALTER COLUMN <字段名> SET DEFAULT <默认值>
删除
删除默认值
ALTER TABLE <表名称> ALTER COLUMN <字段名> DROP DEFAULT
删除字段
ALTER TABLE <表名称> DROP COLUMN <字段名>
删除主键
ALTER TABLE <表名称> DROP PRIMARY KEY
删除索引
ALTER TABLE <表名称> DROP INDEX idx_<表名称>_<字段名>
删除外键约束
ALTER TABLE <表名称> DROP FOREIGN KEY fk_<表名称>_<约束表名称>
- fk_<表名称>_<约束表名称> 约束关系的名字
删除表
DROP TABLE <表名称>
禁用启用
禁用约束
ALTER TABLE <表名称> DISABLE KEYS
启用约束
ALTER TABLE <表名称> ENABLE KEYS