常见配置:
my.cnf:数据库的配置文件(默认位置:C:\ProgramData\MySQL\MySQLServer 5.7)
常见命令(登录之前):
登录:mysql –uroot–p 或者mysql –uroot–p密码
退出:exit 或者quit
版本:mysql –V 或者 mysql --version
登录同时打开指定数据库:mysql–uroot -proot -D db_name
常见命令(登录之后):
SELECT version();--获取版本号
SELECT user();--获取登录用户
SELECT database();--获取当前数据库
SELECT now();--获取当前时间
登录信息中需要关注的信息:
Commands end with ; or \g.(命令行以分号或\g结束)
Type '\c' to clear the current input statement.(命令行以\c表示不执行当前命令 eg:select user()\c)
规范:
常用mysql的关键字需要大写,库名,表名,字段名等使用小写
数据库相关操作(DDL):
查看上一步操作的警告信息:
SHOW WARNINGS;
创建数据库:
CREATE DATABASE db_name;
1、检测数据库是否存在,不存在则创建:CREATE DATABASE IF NOT EXISTS db_name;
2、在创建数据库的同时制定编码方式:CREATE DATABASE IF NOT EXISTS db_name DEFAULT CHARACTER SET [=] charset
查看数据库的详细信息:SHOW CREATE DATABASE db_name;
修改指定数据库的编码方式:
ALTER DATABASE db_name DEFAULT CHARACTER SET[=]charset;
查看当前服务器所有数据库:
SHOW DATABASES;
打开指定数据库:
USE db_name;
SELECT DATABASE();--得到当前数据库
删除指定数据库:
DROP DATABASE db_name;
如果数据库存在则删除:DROP DATABASE IF EXISTS db_name;
数据表相关操作:
创建表操作:
CREATE TABLE [IF NOT EXISTS] tb_name(
字段名称 字段类型(完整性约束条件),
字段名称 字段类型(完整性约束条件),
…
)ENGINE=存储引擎 CHARSET=编码方式;
Eg:
CREATE TABLE IF NOT EXISTSuserinfo(
id INT,
username VARCHAR(32),
password CHAR(32),
email VARCHAR(50),
age TINYINT,
card CHAR(18),
tel CHAR(11),
salary FLOAT(8,2),
married TINYINT(1),
addr VARCHAR(100),
sex ENUM('男', '女')
) ENGINE=INNODB CHARSET=UTF8;
插入记录:
INSERT [INTO]tb_name(id,username….) VALUES (1,’king’…);
删除数据表:
DROPTABLE [IF EXISTS] tb_name;
查看数据库中的表:
SHOW TABLES [FROM db_name];
查看数据表的详细信息:SHOW CREATE TABLE tb_name;
查看表结构:
SHOW COLUMNS FROM tb_name;
DESC tb_name;
查看表记录:
SELECT * FROM tb_name;
修改表结构:
添加字段:ALTER TABLE tb_name ADD 字段名称 字段属性 [完整性约束] [FIRST|AFTER 字段名称];
删除字段:ALTER TABLE tb_name DROP 字段名称;
添加默认值:ALTER TABLE tb_name ALTER 字段名称 SET DEFAULT 默认值;
删除默认值:ALTER TABLE tb_name ALTER 字段名称 DROP DEFAULT;
修改字段类型,字段属性:ALTER TABLE tb_name MODIFY 字段名称 字段类型[完整性约束] [FIRST|AFTER 字段名称];
修改字段名称,字段类型,字段属性:ALTER TABLE tb_name CHANGE 原字段名称 新字段名称 字段类型 [完整性约束] [FIRST|AFTER 字段名称];
添加主键:ALTER TABLE tb_name ADD PRIMARYKEY(字段名称);
删除主键:ALTER TABLE tb_name DROP PRIMARYKEY;
添加唯一:ALTER TABLE tb_name ADD UNIQUE KEY | INDEX [index_name](字段名称);
删除唯一:ALTER TABLE tb_name DROP index_name;
修改表名称:1、ALTER TABLE tb_name RENAME [TO|AS] new_tb_name;
2、RENAME TABLE tb_name TO new_tb_name;
修改AUTO_INCREMENT的值:ALTER TABLE tb_nameAUTO_INCREMENT=值;
完整性约束条件:
无符号:unsigned—从0开始
零填充:zerofill—当数据的显示长度不够的时候使用前补0的效果填充至指定长度
非空:NOT NULL
默认值:DEFAULT
主键:PRIMARY KEY – 标识记录的唯一性,值不能重复,一个表只能有一个主键,且不能为空
唯一性:UNIQUE KEY—唯一性,一个表中可以有多个字段是唯一索引,值不能重复,NULL除外
自增长:AUTO_INCREMENT—自动增长,默认起始值为1,只能用于数值列,而且配合索引使用
外键约束:FOREIGN KEY—外键约束
Eg:
CREATE TABLE IF NOT EXISTS imook_user(
id INT UNSIGNED AUTO_INCREMENT KEY COMMENT '用户编号',
username VARCHAR(21) NOT NULL UNIQUE COMMENT '用户名',
sex ENUM('男', '女') NOT NULL DEFAULT '男' COMMENT '性别',
...
)ENGINE=INNODB DEFAULT CHARSET=UTF8;
//COMMENT 注释