《MySQL 基础课程》笔记整理(基础篇)

一、尝试MySQL

1.打开MySQL

# 启动MySQL服务
sudo service mysql start
# 使用 root 用户登录,这里密码为空,直接回车登录
mysql -u root

window cmd 登录

mysql -u root -p

2.查看数据库:

show databases;
-- 改数据库名
rename database oldname to newname;
-- 删除数据库
drop database dname;

3.连接使用某个数据库:

use <数据库名>

4.查看表:

SHOW TABLES;

5.退出

exit 或 quit

二、创建数据库并插入数据

1.新建数据库

CREATE DATABASE <数据库名字>;

2.新建数据表

CREATE TABLE <表名>
(
  列名a 数据类型(数据长度),
  列名b 数据类型(数据长度),
  列名c 数据类型(数据长度)
);

3.查看表内容

SELECT * FROM <表名>;

4.向表中插入数据

INSERT INTO 表名(列名a,列名b,列名c)
VALUES(值1,值2,值3);

批量插入:

-- mysql
INSERT INTO table (field1,field2,field3) VALUES ('a',"b","c"), ('a',"b","c"),('a',"b","c");
-- oracle
INSERT INTO "database"."table" (field1,field2)
SELECT 'A','B' FROM dual
UNION SELECT 'C','D' FROM dual;

三、SQL的约束

1.约束分类

​ 约束是一种限制,它通过对表的行或列的数据做出限制,来确定表的数据的完整性、唯一性。

主键默认值唯一外键非空
PRIMARY KEYDEFAULTUNIQUEFOREIGN KEYNOT NULL
用于约束表中的一行,作为这一行的标识符,主键不能重复且不能为空;复合主键唯一不重复保证数据完整性,也能表现表之间的关系,每个外键必须REFERENCES(参考)另一个表的主键

四、SELECT 语句详解

1.基本SELECT语句

SELECT 列名 FROM 表名 WHERE 限制条件;

2.数学符号条件

=,<,>,>=,<=,<>

3."AND" 与 "OR"

4.IN 和 NOT IN

  • IN: 不在 某个范围内
  • NOT IN: 在也不在 某个范围内

5.通配符

  • 关键字 LIKE
  • 两个通配符:_ (代表一个未指定字符)和 % (代表不定个未指定字符)
-- 只记得电话号码前五位
SELECT name,phone FROM employee WHERE phone LIKE '1347_ _ _ _ _ _ _';
-- 只记得名字首字母,却不知道长度
SELECT name,phone FROM employee WHERE name LIKE 'L%';

6.对结果排序

ORDER BY
-- 默认升序;关键词:ASC(升序),DESC(降序)
SELECT name,salary FROM employee ORDER BY salary DESC;

7.SQL内置函数算

COUNT、SUM、AVG、MAX、MIN

8.子查询

9.连接查询

五、数据库及表的修改和删除

1.删除数据库

DROP DATABASE 数据库名

2.重命名表

RENAME TABLE 原名 TO 新名字;
ALTER TABLE 原名 RENAME 新名;
ALTER TABLE 原名 RENAME TO 新名;

3.删除表

DROP TABLE 表名;  

4.对列的修改(即对表的结构修改)

-- 1)增加一列
ALTER TABLE 表名 ADD COLUMN 列名 数据类型 约束;
-- 或:
ALTER TABLE 表名 ADD 列名 数据类型 约束;
-- 2)删除一列
ALTER TABLE 表名 DROP COLUMN 列名;
-- 或:
ALTER TABLE 表名 DROP 列名;
-- 3)重命名列 (这里数据类型不能省略,否则失败)
ALTER TABLE 表名 CHANGE 原列名 新列名 数据类型 约束;
-- 4)改变数据类型
-- 也可以使用CHANGE
-- 提醒:修改数据类型可能会导致数据丢失
ALTER TABLE 表名 MODIFY 列名 新数据类型;

5.对表内容的修改

-- 1)修改表中某个值
UPDATE 表名 SET 列1=值1,列2=值2 WHERE 条件;
-- 2)删除一行记录
DELETE FROM 表名 WHERE 条件;

六、其他基本操作

1.索引

​ 作用相当于书的目录;

​ 通过索引值可以大大加快查询速度

-- 对表中某个列建立索引
ALTER TABLE 表名 ADD INDEX 索引名 (列名);
-- 或
CREATE INDEX 索引名 ON 表名 (列名);
-- 查看索引
SHOW INDEX FROM 表名;

2.视图

​ 视图是从一个或多个表中导出来的,是虚拟的表 ,可以使用户不用看到整个数据库中的表,而只关心对自己有用的数据

-- 创建视图
CREATE VIEW 视图名(列a,列b,列c) AS SELECT 列1,列2,列3 FROM 表名;

3.导入

​ 把一个文件里的数据保存进一张表

LOAD DATA INFILE '文件路径' INTO TABLE 表名;

4.导出

SELECT 列1,列2 INTO OUTFILE '文件路径和文件名' FROM 表名;

5.备份

> 备份与导出的区别:导出只是导出数据;而备份是备份数据库的结构(包括数据、约束、索引、视图等)

mysqldump是MySQL用于备份数据库的实用程序,它主要产生一个SQL脚本文件,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等

mysqldump -u root 数据库名>备份文件名; #备份整个数据库
mysqldump -u root 数据库名 表名>备份文件名; #备份整个表

6.恢复

source 

(不定期更新)

转载于:https://www.cnblogs.com/52liming/p/6443560.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值