MySQL启程学习回忆录1

版权声明:本文为博博原创文章,未经博博允许不得转载。 https://blog.csdn.net/u013523377/article/details/71037899

一、MySQL 使用

1. 启动 mysql 服务(避免“服务名无效”)

MySQL 安装过程中配置服务名,如 5.7.+ 版本默认为 MySQL57。则 windows 下启动命令为:

>net start MySQL57

这里写图片描述

这里写图片描述

2. 停止 mysql 服务

管理员/方式一:>net stop MySQL57
非管理员/方式二:>mysqladmin -uroot shutdown -p1231

3. 登录/退出 mysql

登录:
>mysql -uroot -p -hlocalhost

退出:
mysql> exit;
mysql> quit;
mysql> \q;1

参数 描述
-u 用户名
-p 密码
-P 端口号
-h 服务器名称
–prompt 修改提示符 日期\D,数据库\d,服务器\h,用户\u

4. 其他常用命令

mysql> 命令 描述
USE db_Name; 打开数据库
SELECT DATABASE(); 当前数据库
SELECT VERSION(); 当前服务器版本
SELECT NOW(); 当前日期时间
SELECT USER(); 当前用户
SET NAME gbk/utf8; 修改客户端编码方式
DELIMITER 修改编辑时结束符/定界符

二、数据库

数据库操作 语法结构
数据库创建信息 SHOW CREATE {DATABASES/SCHEMAS} db_name;
数据库列表 SHOW {DATABASES/SCHEMAS} [LINKE ‘pattern’/WHERE expr];
创建数据库 CREQTE {DATABASE/SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name;
修改数据库编码 ALTER {DATABASE/SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] chartset_name;
修改数据库名称 RENAME {DATABASE/SCHEMA} db_name TO new_db_name;
删除数据库 DROP {DATABASE/SCHEMA} [IF EXISTS] db_name;

三、数据表

1. 数据表操作

数据表操作 语法结构
查看数据表列表 SHOW TABLES [FROM db_name] [LINK ‘pattern’/WHERE expr];
查看数据表结构 SHOW COLUMNS FROM tbl_name;
创建数据表 CREATE TABLE [IF NOT EXISTS] table_name (
column_name data_type,

);
修改表名称 ALTER TABLE tbl_name RENAME [TO/AS] new_name;
or
RENAME TABLE tbl_name TO new_name [,tbl_name2 TO new_name2…];
多表连接 tbl1 {[INNER/CROSS] JOIN/{LEFT/RIGHT} [OUTER] JOIN} tbl2 ON {expr}
单表拟多表连接 tbl AS s {[INNER/CROSS] JOIN/{LEFT/RIGHT} [OUTER] JOIN} tbl AS p ON {expr}

2. 数据表列/字段操作

数据表列操作 语法结构
查看列 DESC tbl_name;
插入列 ALTER TABLE tbl_name ADD COLUMN col_name data_type;
删除列 ALTER TABLE tbl_name DROP COLUMN col_name;
修改列属性 ALTER TABLE tbl_name MODIFY col_name data_type;
修改列名 ALTER TABLE tbl_name CHANGE col_name new_name data_type;
跨表列数据插入 INSERT tbl1(rol_name) SELECT rol_name2 FROM tbl2 GROUP BY rol_name2;
跨表列数据更新 UPDATE tbl1 INNER JOIN tbl2 ON {exper} SET tbl1.col1 = tbl2.col2;

2. 数据表行/记录操作

数据表行操作 语法结构
查看行 SELECT expr,…
[
    FROM tbl_references
    [WHERE where_condition]条件查询
    [GROUP BY {col_name/position}]分组查询
    [HAVING where_condition]分组查询条件折设置
    [ORDER BY {col_name/expr/position}[ASC/DESC],…]查询结果排序
    [LIMIT{[offset,] row_count/row_conunt OFFSET offset}限制返回结果数量
];
插入行 INSERT [INTO] tbl_name [(col_name,…)] {VALUES/VALUE}({expr/DEFAULT},…),…;
or
INSERT [INTO] tbl_name SET col_name={expr/DEFAULT},…;
or
INSERT [INTO] tbl_name [(col_name),…] SELECT…;
更新行 UPDATE [LOW_PRIORITY] [IGNORE] tbl_reference SET col_name1={expr/DEFAULT}[,… WHERE where_condition];
删除行 DELETE FROM tbl_name [WHERE where_condition];

4. 数据表属性

属性 描述
NULL, NOT NULL 字段记录可空/不可为空
PRIMARY KEY 主键约束
AUTO_INCREMENT 自动编号(默认起始值为1,一张表只能有一个字段设置)
UNIQUE KEY 唯一约束(一张表可以有多个字段设置)
DEFAULT 默认值(日期时间:TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)
UNSIGNED 无符号类型

4. 数据表约束

4.1 PRIMARY KEY 主键约束

语法:

约束操作 具体实现
添加 ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY (index_type) (index_col_name,…);

4.2 FOREIGN KEY 外键约束

描述 :
外键约束,保持数据一致性,完整性。实现一对一或一对多关系

要求 :
a. 父表与子表必需使用相同的存储引擎
b. 数据表的存储引擎只能为InnoDB(配置文件设置)
c. 外键列和参照列必需具有显示的数据类型。其中数值的长度或是否有符号位必需相同;而字符的长度则可以不同
d. 外键列和参照列必修创建索引。如果外键列不存在索引的话,MySQL将自动创建索引

语法:

约束操作 具体实现
添加 ALTER TABLE tbl_name [CONSTRAINT [symbol]] FOREIGN KEY (id) REFERENCES tbl_name2 (id2) [ON DELETE/UPDATE {CASCADE/SET NULL/NO ACTION/RESTRICT}];
查看约束 SHOW CREATE TABLE tbl_name;
删除 ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol;

4.3 UNIQUE 唯一约束

语法:

约束操作 具体实现
添加 ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX/KEY] [index_type] (index_col_name,…);
查看约束 SHOW INDEX FROM tbl_name;
删除 ALTER TABLE tbl_name DROP {INDEX/KEY} index_name;

4.4 DEFAULT 默认约束

语法:

约束操作 具体实现
添加 ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal};
删除 ALTER TABLE tbl_name ALTER [COLUMN] col_name {DROP DEFAULT};

4.5 NOT NULL 非空约束


MySQL启程学习回忆录1
MySQL启程学习回忆录2
MySQL启程学习回忆录3


感谢慕课平台

猜你喜欢

转载自blog.csdn.net/u013523377/article/details/71037899