一、概述

1.安装

如何启动:

开启——net start mysql  (实际上,所有的windows服务都可以通过此指令进行启动:net start 服务名)

登陆——mysql -u -p进行登陆  (mysql -uroot -proot,直接-p回车将会提示输入密码而不必输入明文密码)

退出 ——exit或者quit  (exit;)

关于cmd界面无法启动mysql:

1. 必须要使用管理员身份运行cmd程序

2. 如果下载MySQL5.7版本的,在windows服务上Mysql的名字默认是MySQL57,因此在cmd运行 net start/stop mysql 是无效的,必须改成 net start/stop mysql57才行

3.安装的时候没勾选开启命令行,导致Path路径中没有bin目录,解决办法如下:

右键点击“我的电脑”-“属性”-“高级”-“环境变量”-“系统 变量”-双击“Path”-将mysql的路径“D:wampbinmysqlmysql5.0.51bbin  (这里假设您的MYSQL目录和我安装的一样,其实你定位到你的 MYSQL安装目录之后再找到bin目录就可以把全路径写上去了)”添加进去-“确定”

MySQL字符集修改:

MySQL转化性别显示 mysql设置性别_mysql

MySQL转化性别显示 mysql设置性别_mysql_02

show variables like 'character_set%';
mysql> set character_set_client=utf8;
Query OK,0 rows affected (0.00sec)
mysql> set character_set_connection=utf8;
Query OK,0 rows affected (0.00sec)
mysql> set character_set_database=utf8;
Query OK,0 rows affected (0.00sec)
mysql> set character_set_results=utf8;
Query OK,0 rows affected (0.00sec)
mysql> set character_set_server=utf8;
Query OK,0 rows affected (0.00sec)
mysql> set character_set_system=utf8;
Query OK,0 rows affected (0.01sec)
mysql> set collation_connection=utf8;
Query OK,0 rows affected (0.01sec)
mysql> set collation_database=utf8;
Query OK,0 rows affected (0.01sec)
mysql> set collation_server=utf8;
Query OK,0 rows affected (0.01 sec)
View Code

登陆成功如下:

MySQL转化性别显示 mysql设置性别_cmd中mysql性别约束_03

//mysql命令提示符的修改暂不展开

2.常用命令

MySQL转化性别显示 mysql设置性别_主键_04

实例:

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_05

//记得打分号

语句规范:

MySQL转化性别显示 mysql设置性别_主键_06

3.操作数据库

1.创建数据库:(大括号必选,中括号可选)

MySQL转化性别显示 mysql设置性别_外键_07

实例:

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_08

//请尽量遵守语句规范

2.查看数据库列表:

MySQL转化性别显示 mysql设置性别_cmd中mysql性别约束_09

实例:

MySQL转化性别显示 mysql设置性别_外键_10

3.修改数据库:

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_11

实例:

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_12

4.删除数据库

MySQL转化性别显示 mysql设置性别_主键_13

二、数据类型与数据表

1.数据类型

数字类型:

MySQL转化性别显示 mysql设置性别_主键_14

时间类型

MySQL转化性别显示 mysql设置性别_外键_15

字符类型

MySQL转化性别显示 mysql设置性别_cmd中mysql性别约束_16

2.操作数据表

1.创建表

MySQL转化性别显示 mysql设置性别_mysql_17

只复制表结构:

两种方法复制表结构:1.create table B as select * from A where 1=2;

或者:2.create table B like A;

实例:

MySQL转化性别显示 mysql设置性别_mysql_18

2.查看表

MySQL转化性别显示 mysql设置性别_mysql_19

实例:

MySQL转化性别显示 mysql设置性别_外键_20

删除表:

DROP TABLE [IF EXISTS] tb_name;

MySQL转化性别显示 mysql设置性别_外键_21

3.查看表结构

MySQL转化性别显示 mysql设置性别_主键_22

实例:

MySQL转化性别显示 mysql设置性别_mysql_23

4.记录插入

MySQL转化性别显示 mysql设置性别_cmd中mysql性别约束_24

实例:(省略字段时所有字段都要赋值)

MySQL转化性别显示 mysql设置性别_外键_25

5.记录查找

MySQL转化性别显示 mysql设置性别_cmd中mysql性别约束_26

实例:(后续会有详细的查找补充)

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_27

6.空值与非空

MySQL转化性别显示 mysql设置性别_mysql_28

实例:

MySQL转化性别显示 mysql设置性别_外键_29

7.自动编号

MySQL转化性别显示 mysql设置性别_cmd中mysql性别约束_30

实例将与主键约束一同展示

8.主键约束

主键:唯一、非空、被引用

MySQL转化性别显示 mysql设置性别_外键_31

实例:

MySQL转化性别显示 mysql设置性别_mysql_32

MySQL转化性别显示 mysql设置性别_外键_33

【推荐】可以统一在字段创建完成后创建主键约束(其他同理)

CREATE TABLEt1(

idint not null,

namechar(20),primary key(id)

);

9.唯一约束

只唯一、不非空

MySQL转化性别显示 mysql设置性别_cmd中mysql性别约束_34

实例:

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_35

10.默认约束

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_36

实例:(性别为枚举类型)

MySQL转化性别显示 mysql设置性别_外键_37

MySQL转化性别显示 mysql设置性别_主键_38

三、约束与数据表操作

1.约束

MySQL转化性别显示 mysql设置性别_主键_39

//两个以上字段称为表级约束

1.外键约束

MySQL转化性别显示 mysql设置性别_主键_40

外键要求:

MySQL转化性别显示 mysql设置性别_外键_41

修改配置文件实现存储引擎的修改:

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_42

实例:(调了一下白底黑字和字体为宋体。)

MySQL转化性别显示 mysql设置性别_主键_43

创建外键:可以看到即使类型一致,有无符号位也会造成外键的创建失败

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_44

MySQL转化性别显示 mysql设置性别_主键_45

自动创建约束验证:

MySQL转化性别显示 mysql设置性别_外键_46

2.外键约束参照操作

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_47

实例:(其中 SHOW CREATE TABLE user就相当于可视化工具中的DDL)

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_48

//这里外键约束表示在父表中删除行时同时删除子表相应的行

实例:(先插父表,后插子表)

MySQL转化性别显示 mysql设置性别_外键_49

插入子表:这里有一条不符合条件的插入,这里主键也自动递增了

MySQL转化性别显示 mysql设置性别_外键_50

删除父表中的记录,发现子表中外键关联的相关记录:

MySQL转化性别显示 mysql设置性别_cmd中mysql性别约束_51

当然,物理外键约束性是非常大的,这里我们常常使用的是逻辑外键,这样更加灵活

所谓的逻辑外键指的是就是我们在定义两张表的结构的时候,我们是按照存在的某种结构的方式去定义,但是不去使用FOREIGN KEY这个关键词来定义。

3.表级约束与列级约束

MySQL转化性别显示 mysql设置性别_外键_52

2.修改数据表

1.添加删除列

MySQL转化性别显示 mysql设置性别_mysql_53

实例:不指定位置则默认最后

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_54

当然,添加多列也是可以的:

MySQL转化性别显示 mysql设置性别_cmd中mysql性别约束_55

2.删除列

MySQL转化性别显示 mysql设置性别_主键_56

实例:

MySQL转化性别显示 mysql设置性别_cmd中mysql性别约束_57

3.添加约束

MySQL转化性别显示 mysql设置性别_mysql_58

实例:

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_59

其中CONTRAINT关键字是可选的,可以用来自定义约束名

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_60

MySQL转化性别显示 mysql设置性别_mysql_61

实例:

MySQL转化性别显示 mysql设置性别_主键_62

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_63

实例:

MySQL转化性别显示 mysql设置性别_cmd中mysql性别约束_64

约束/检验的DDL示例:

MySQL转化性别显示 mysql设置性别_cmd中mysql性别约束_65

4.添加删除默认约束

MySQL转化性别显示 mysql设置性别_cmd中mysql性别约束_66

实例:

MySQL转化性别显示 mysql设置性别_cmd中mysql性别约束_67

5.删除约束

MySQL转化性别显示 mysql设置性别_外键_68

实例:(主键已经不是Id)

MySQL转化性别显示 mysql设置性别_主键_69

MySQL转化性别显示 mysql设置性别_主键_70

实例:(先查看约束,\G为以网格形式呈现),要删除约束需要知道约束的名字

MySQL转化性别显示 mysql设置性别_主键_71

MySQL转化性别显示 mysql设置性别_主键_72

MySQL转化性别显示 mysql设置性别_mysql_73

实例:查看DDL可以看到有一个系统默认赋予我们的外键的名字:

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_74

实例:

MySQL转化性别显示 mysql设置性别_主键_75

6.修改列定义

列名字未出错,但列定义:包括列类型与位置等的修改

MySQL转化性别显示 mysql设置性别_外键_76

实例:

MySQL转化性别显示 mysql设置性别_主键_77

7.修改列名称

CHANGE不仅可以修改列名称,还可以修改列定义

MySQL转化性别显示 mysql设置性别_mysql_78

实例:(TINYINT这里稍微注意下读音 ['taɪnɪ])

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_79

8.修改表名称

MySQL转化性别显示 mysql设置性别_MySQL转化性别显示_80

实例:

MySQL转化性别显示 mysql设置性别_cmd中mysql性别约束_81

实际中请尽量减少列名称与表名称的修改!