2021-08-05

1.SQL 的概念

1.1什么是sql?
		Structured Query Language 结构化查询语言
2.SQL 作用
		1) 是一种所有关系型数据库的查询规范,不同的数据库都支持。
		2) 通用的数据库操作语言,可以用在不同的数据库中。
		3) 不同的数据库 SQL 语句有一些区别
3.SQL 语句分类
		1) Data Definition Language (DDL 数据定义语言) 如:建库,建表
		2) Data Manipulation Language(DML 数据操纵语言),如:对表中的记录操作增删改
		3) Data Query Language(DQL 数据查询语言),如:对表中的查询操作
		4) Data Control Language(DCL 数据控制语言),如:对用户权限的设置
4.MySQL 的语法
		1) 每条语句以分号结尾,如果在 SQLyog 中不是必须加的。
		2) SQL 中不区分大小写,关键字中认为大写和小写是一样的
		3) 3 种注释:
注释的语法说明
–空格单行注释
/* */多行注释
#这是 mysql 特有的注释方式

2.DDL 操作数据库

一、创建数据库
1.创建数据库

CREATE DATABASE 数据库名;
CREATE DATABASE test;
2.判断数据库是否已经存在,不存在则创建数据库
CREATE DATABASE IF NOT EXISTS 数据库名;
CREATE DATABASE IF NOT EXISTS test;
3.创建数据库并指定字符集
CREATE DATABASE 数据库名 CHARACTER SET 字符集;
CREATE DATABASE db2 CHARACTER SET utf8;

二、查看数据库
– 查看所有的数据库

SHOW DATABASES;
-- 查看某个数据库的定义信息
SHOW CREATE DATABASE db1;

三、修改数据库

1.修改数据库默认的字符集
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;
ALTER DATABASE db1 CHARACTER SET gbk;

四、删除数据库

DROP DATABASE 数据库名;
DROP DATABASE db2;

五、使用数据库

	1.查看正在使用的数据库;
SELECT DATABASE ();
	2.使用/切换数据库
USE test;

3.DDL 操作表结构

3.1创建表的格式;
CREATE TABLE 表名 (
字段名 1 字段类型 1,
字段名 2 字段类型 2
);

CREATE TABLE student (
	id INT,
	NAME VARCHAR (20),
	birth_day date
);
3.2查看库中所有的表
SHOW TABLES;
3.3查看表结构;
DESC student;
3.4.查看建表的sql语句
SHOW CREATE TABLE student;
3.5如何快速创建一个相同表结构的表
CREATE TABLE 新表名 LIKE 旧表名;
CREATE TABLE stu2 LIKE student;
3.6删除表
    直接删除表
DROP TABLE 表名;
DROP TABLE stu2;
	判断表是否存在,如果存在则删除表
DROP TABLE IF EXISTS stu2;
3.7修改表结构
	添加表列 ADD
ALTER TABLE 表名 ADD 列名 类型;
ALTER TABLE student ADD addres VARCHAR (20);
3.8.修改列类型 MODIFY
ALTER TABLE 表名 MODIFY 列名 新的类型;
ALTER TABLE student MODIFY addres VARCHAR (100);
3.9.修改列名 CHANGE
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
ALTER TABLE student CHANGE addres dizhi VARCHAR (100);
4.0删除列 DROP
ALTER TABLE 表名 DROP 列名
ALTER TABLE student DROP dizhi;
4.1修改表名
RENAME TABLE 表名 TO 新表名;
RENAME TABLE student TO stu;
4.2修改字符集 character set
ALTER TABLE 表名 character set 字符集;
ALTER TABLE stu CHARACTER SET utf8;

4.DML操作表中的数据

4.1插入记录;

INSERT [INTO] 表名 [字段名] VALUES (字段值)
INSERT INTO 表名:表示往哪张表中添加数据
(字段名 1, 字段名 2,):要给哪些字段设置值
VALUES (1,2,):设置具体的值

4.1.1插入全部字段;

INSERT INTO 表名 (字段名 1, 字段名 2, 字段名 3) VALUES (1,2,3);
INSERT INTO stu VALUES (1, '柯南', '2021-08-05');

4.1.2插入部分字段

INSERT INTO 表名 (字段名 1, 字段名 2, ...) VALUES (1,2, ...);
INSERT INTO stu (id, NAME) VALUES (2, '河南');

4.2蠕虫复制
什么是蠕虫复制:
将一张已经存在的表中的数据复制到另一张表中。

将表名 2 中的所有的列复制到表名 1 中
INSERT INTO 表名 1 SELECT * FROM 表名 2;
只复制部分列
INSERT INTO 表名 1(1,2) SELECT1,2 FROM student;

4.3更新表记录

UPDATE 表名 SET 列名=[WHERE 条件表达式]

4.4删除表记录

DELETE FROM 表名 [WHERE 条件表达式]
如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
你可以在 WHERE 子句中指定任何条件

4.5使用 truncate 删除表中所有记录

TRUNCATE TABLE 表名;

truncate 和 delete 的区别:
truncate 相当于删除表的结构,再创建一张表。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值