MySql学习

基础知识

  1. mysql安装

    [https://www.bilibili.com/video/BV1H64y1U7GJ?spm_id_from=333.999.0.0]:

  1. 客户端连接Mysql服务 (mysql-h主机IP-P端口-u用户名-p密码【在p和密码之间没有空格】)

数据库三层结构

创建数据库

CREATE DATABASE mx_db01

1
2
3
4
5
6
#创建数据库
CREATE DATABASE mx_db01
CREATE DATABASE mx_db02 CHARACTER SET utf8
CREATE DATABASE mx_db03 CHARACTER SET utf8 COLLATE utf8_bin
#删除数据库
DROP DATABASE mx_db01

查询数据库

1
2
3
4
5
6
7
8
9
#查询、删除数据库
#在创建数据库或表的时候为了规避关键字可以采用反引号
#`mx_db01`
#查看当前数据库服务器中的所有数据库
SHOW DATABASES
#查看创建过的mx_db03的定义信息
SHOW CREATE DATABASE mx_db03
#删除创建过的mx_db02
DROP DATABASE mx_db02

备份恢复数据库

1
2
3
4
5
6
7
8
9
mysqldump -u root -p -B mx_db02 mx_db03 > d:\\mysqlstudy\\bak.sql

#备份和恢复
#备份(在DOS命令行中执行)
#备份的文件就是对应的SQL语句
mysqldump -u root -p -B mx_db02 mx_db03 > d:\\mysqlstudy\\bak.sql
DROP DATABASE mx_db03
#恢复数据库(要在Mysql命令行中)
source d:\\mysqlstudy\\bak.sql

创建表

1
2
3
4
5
6
7
#创建表
CREATE TABLE `user` (
id INT,
`name` VARCHAR(255),
birthday DATE,
`password` VARCHAR(255))
CHARACTER SET utf8 COLLATE utf8_bin ENGINE INNODB;

Mysql常用数据类型(列类型)

数值型

数值型(整数)

数值型(bit)

数值型(小数型)

字符串

  • 在utf8编码中三个字节表示一个字符
  • 在gbk编码中两个字节表示一个字符

日期类型

索引

创建索引

1
2
3
4
5
6
7
8
9
#添加普通索引
CREATE INDEX empno_index on emp (empno);
ALTER TABLE emp ADD INDEX empno_index (empno);

#添加唯一索引
CREATE UNIQUE INDEX empno_index on emp (empno);

#添加主键索引
ALTER TABLE emp ADD PRIMARY KEY (empno); #或者在创建表时直接将字段设为主键

删除索引

1
2
3
4
5
6
DROP INDEX index_name ON emp;

ALTER TABLE emp DROP INDEX index_name;

#删除主键索引
ALTER TABLE EMP DROP PRIMARY KEY;

查询索引

1
2
3
4
SHOW INDEX FROM table_name;
SHOW INDEXES FROM table_name;
SHOW KEYS FROM table_name;
DESC table_name;

事务