MySQL启程学习回忆录1

本文详细介绍MySQL的基本使用方法,包括服务的启动与停止、登录与退出等,并深入讲解数据库及数据表的各种操作,如创建、查询、修改、删除等。此外还介绍了数据表的属性与约束,如主键、外键、唯一约束等。

一、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


感谢慕课平台

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值