2306训练营MySQL

一、SQL

1、SQL(Structrued Query Language)

结构化查询语言,用于访问和处理数据库的标准的计算机语言

2、语法特点

(1)SQL对关键字的大小不敏感(windows)
(2)SQL语句可以多行或者多行书写,以分号结束
(3)SQL的注释

-- 单行注释,后面一定要加一个空格
SELECT * FROM emp; -- 查询emp所有的数据

#单行注释,#后面可加可不加空格

/*
多行注释
多行注释
*/

3、数据库系统

(1)关系型数据库(RDBMS)
①Oracle
②MySQL
③SQL server
④PostgreSQL
⑤SQLite

(2)非关系型数据库(NoSQL)
①Redis
②MongoDB
③Elasticsearch
④Cassandra
⑤Hbase

4、MySQL数据库基本操作-DDL

DDL(Data Definition Language)数据定义语言,包括:对数据库的常用操作、对表结构的常用操作、修改表结构

(1)对数据库的常用操作

功能 SQL
查看所有的数据库 show databases;
创建数据库 create database [if not exists] mydb1 [charset=utf8]
切换(选择要操作的)数据库 use mydb1;
删除数据库 drop database [if exists] mydb1;
修改数据库编码 alter database mydb1 character set utf8

(2)对表结构的常用操作-创建表

创建表格式:

create table [if not exists] 表名(
	字段名1 类型[(宽度)] [约束条件] [comment '字段说明'],
	字段名2 类型[(宽度)] [约束条件] [comment '字段说明'],
	字段名3 类型[(宽度)] [约束条件] [comment '字段说明'],
) [表的一些设置];

注:
常见的数据类型有:①数值类型;②日期和时间类型;③字符串类型
①数值类型

类型 大小 用途
TINYINT 1byte 小整数值
INT或INTEGER 4byte 大整数值
DOUBLE 8byte 浮点数值

②字符串类型

类型 大小 用途
CHAR 0-255byte 定长字符串
VARCHAR 0-65535byte 变长字符串

③日期类型

类型 大小(byte) 格式 用途
DATE 3byte YYYY-MM-DD 日期值
DATETIME 8byte YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP 4byte YYYYMMDD HHMMSS 混合日期和时间值,时间戳

(3)对表结构的常用操作-其他操作

功能 SQL
查看当前数据库的所有表名称 show tables;
查看指定某个表的创建语句 show create table 表名;
查看表结构 desc 表名;
删除表 drop table 表名;

(4)对表结构的常用操作-修改表结构格式
①修改表添加列

语法格式:

alter table 表名 add 列名 类型(长度) [约束];
②修改列名和类型
语法格式:

alter table 表名 change 旧列名 新列名 类型(长度) [约束];

③修改表删除列

语法格式:
alter table 表名 drop 列名;

④修改表名

语法格式:

rename table 表名 to 新表名;

5、MySQL数据库基本操作-DML

DML是指数据操作语言,Data Manipulation Language,用来对数据库表中的数据记录进行更新

关键字:insert(插入)、delete(删除)、update(更新)

(1)数据插入

语法格式:

insert into 表名(列名1,列名2,列名3...) values (1,2,3...);	//向表中插入某些列

insert into 表名 values (1,2,3...); 	//向表中插入所有列

(2)数据修改

语法格式:

update 表名 set 字段名1 =1,字段名2 =2...;

#根据条件修改
update 表名 set 字段名1 =1,字段名2 =2... where
条件;

(3)数据删除

drop 删除表
detele和truncate 删除表中数据

语法格式:
delete from 表名 [where 条件];

truncate table 表名
或者
truncate 表名

注:delete和truncate原理不同,delete只删除内容,而truncate类似于drop table,可以理解为是将整个表删除,然后再创建该表

6、MySQL约束

约束(constraint):实际上就是表中数据的限制条件

(1)分类

①主键约束(primary key) PK
②自增长约束(auto increment)
③非空约束(not null)
④唯一性约束(unique)
⑤默认(default)
⑥零填充约束(zerofill)
⑦外键约束(foreign key) FK

(2)主键约束

①概念:

主键约束的关键字是:primary key;
主键约束相当于 唯一约束 + 非空约束的组合,主键约束的列不允许重复,也不允许出现空值;
每个表最多只允许一个主键;

②操作:

添加单列主键:有两种方式,一种是在定义字段的同时指定主键,一种是定义完字段之后指定主键

方式1-语法:
create table 表名(
	...
	<字段名> <数据类型> primary key
	...
)

方式2-语法:
create table 表名(
	...
	[constraint <约束名>] primary key [字段名]
);

你可能感兴趣的:(mysql,数据库)