一、数据库是什么
- 数据库:就是用来存储和管理数据的仓库
- MySQL是数据库中的一种,关系型数据库
二、(面试题)常见数据库
-
Oracle(神喻):甲骨文(最高!);
-
DB2:IBM;
-
SQL Server:微软;
-
Sybase:赛尔斯;
-
MySQL:甲骨文
三、数据库组成
我们常用的是关系型数据库
RDBMS(关系型数据库管理系统)=Manager(管理员)+Database(仓库)
Database(仓库)= N个table(表)
table包括:表结构和表记录
- 表结构:列名和列类型
- 表记录:一行行的数据记录
四、DOS命令行常见操作
net start mysql #启动数据库
net stop mysql #关闭数据库
五、SQL语句
1、定义:
SQL语句是结构化查询语句,可以用在所有关系型数据库中,相当于普通话一样,普遍可以用,但是很多数据库有自己特有的“方言”,其他的数据库无法共用。
2、SQL主要操作:
CUDR:增删改查
3、书写规范:
- SQL语句可以单行或多行书写,但是以;结尾
- 关键字不区分大小写,但是建议大写,更好区分;
- 表名和列名也不区分大小写
- 值名可能区分大小写,主要看命名时的操作
4、SQL语句分类
-
DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;
-
DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);
-
DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;
-
DQL(Data Query Language):数据查询语言,用来查询记录(数据)。
5、DDL(数据定义)
1、基本操作:
- 查看所有数据库:SHOW DATABASES;
- 切换数据库:USE + 库名;
- 查看所有表:SHOW TABLES;
- 查看表结构:DESC + 表名;
2、操作数据库
-- 创建数据库
CREATE DATABASE IF NOT EXISTS mydb2 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
DEFAULT CHARACTER: 默认的字符集, 如果没有设置,默认是utf8
其中COLLATE是排序规则, 如果没有设置,默认是: utf8_general_ci
--删除数据库:
DROP DATABASE [IF EXISTS] mydb1;
--修改数据库编码:
ALTER DATABASE mydb1 CHARACTER SET utf8
3、创建表
CREATE TABLE 表名(
列名 列类型,
列名 列类型,
......
);
#右花括号前面最后一行结尾,不能写逗号。
表名起名规范:
表名前面加前缀:tb_表名
6、DML(数据操作)
1、插入数据
-- 插入指定列数据
INSERT INTO 表名(列名1,列名2, …) VALUES(值1, 值2)
-- 插入全部列,要按表结构赋值
INSERT INTO 表名 VALUES(值1,值2,…)
2、修改数据
UPDATE 表名 SET 列名1=值1, … 列名n=值n [WHERE 条件]
3、删除数据
DELETE FROM 表名 [WHERE 条件]
如果DELETE FROM 后面只加表名,就删除整个表;
还有一种删除方式:
TRUNCATE TABLE 表名
TRUNCATE TABLE stu;
DELETE和TRUNCATE的区别:
- DELETE的效率没有TRUNCATE高!
- TRUNCATE属于DDL语句,因为它是先DROP TABLE,再CREATE TABLE。而且 TRUNCATE删除的记录是无法回滚的,如果有自增长列,该列直接从1开始。
- DELETE属于DML语句,直接DROP TABLE,但DELETE删除的记录是可以回滚的。
关于SQL语句的更多使用后续再更新...