Phase2 Day16 数据库SQL

数据库

1 概述

  • 数据库是按照数据结构来组织、存储和管理数据的仓库

分类

  • 关系型数据库
    不仅存储数据本身,还存储数据之间的关系,比如说用户信息和订单信息。关系型数据库模型把复杂的数据结构归结为简单的二维表(关系表)
  • 非关系型数据库
    非关系型数据库也被称为NoSQL数据库。NoSQL的产生并不是要否定关系型数据库,而是作为关系型数据库的一个有效补充

术语

  • 数据库系统(DBS):是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统、数据库管理员(DBA)构成
  • 数据库管理系统(DBMS):是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库(如:MySQL)
  • 数据库(DB):数据库是按照数据结构来组织、存储和管理数据的仓库
    在这里插入图片描述
    在这里插入图片描述

2 SQL

SQL是结构化查询语言(Structured Query Language)的缩写。 它是一种专门用来与关系型数据库沟通的语言

它主要由如下优点

  • SQL 是一种通用语言,几乎所有的关系型数据库都支持 SQL
  • SQL 简单易学。它的语句是由一些有很强描述性的关键词组织而成, 而且这些关键词并不多
  • SQL 虽然简单,但它是一种强有力的语言,灵活地使用 SQL, 可以进行非常复杂的数据库操作
  • 半衰期很长 SQL92, SQL99
  • 虽然 SQL 不区分大小写,但是表名、列名和值可能区分!(这依赖具体的 DBMS 及其配置)

组成

  • DDL: 数据定义语言
  • DML:数据操作语言 (增,删,改)
  • DQL: 数据查询语言 (查)
  • DCL: 数据控制语言
  • TPL: 事务处理语言

DDl(定义数据语言)

查看字符集&校对集
##################### Character Set ####################
show char set;查看默认的字符集

show collation;查看校对集

# 查看数据库的默认字符集
show variables like '%character%';
select @@character_set_database;
数据库
########################## 数据库 #########################
#1 查询数据库
show databases;

查看创建语句
show create database mydb1;

#2 创建数据库 
#语法:create database [if not exist] db_name [specification];
#练习 
# 创建一个名称为mydb1的数据库。
create database mydb1;

# 创建一个使用gbk字符集的mydb2数据库。
# create database mydb1 character set gbk;
# create database if not exists mydb1 character set gbk;
create database if not exists mydb2 character set gbk;

# 创建一个使用gbk字符集,并带校对规则(校对集)的mydb3数据库。
# 
create database if not exists mydb3 character set gbk collate gbk_bin;

#3 删除数据库 
#语法:DROP DATABASE [IF EXISTS] db_name
drop database mydb1;
drop database if exists mydb1;

#4 修改数据库,无法修改数据库名称,只能修改字符集和架构规则
#语法:ALTER DATABASE db_name [specification](条件)

# mydb2的字符集修改为utf8
alter database mydb1 character set utf8;
############################# 表 ################################
#1 创建表 
#语法:
-- CREATE TABLE table_name
-- (
-- 	field1  datatype,
-- 	field2  datatype,
-- 	field3  datatype
-- )[CHARACTER SET 字符集 COLLATE 校对规则]

#注意事项:创建表之前得使用数据库
use mydb1;
create table `user`(
	id int,
    `name` varchar(255),
	`password` varchar(255),
    birthday date
);

#2. 查看表
show tables;查看当前数据库的表
show tables in world;查看指定数据库的表

# 查看表的创建语法
show create table user;

# 查看表的结构
describe user;
desc user;

#3 修改表
# 增加一列 
# 在user表中增加 gender
alter table user add column gender varchar(255); #在最后加

# 在user表的password后面添加address列
alter table user add column address varchar(255) after password;

# 在user表添加a列,并且把a放在第一列 
alter table user add column a int first;

# 追加多列
alter table user add column b int, add column c int;

# 修改列的类型, 限制条件
# 把c的类型改成varchar
alter table user modify column c varchar(255);

# 修改列的名字 
# 把gender改成sex
alter table user change gender sex varchar(255);

# 删除列
# 删除a,b,c列
alter table user drop column a, drop column b, drop column c;

# 修改表的名称 
# 把user改成t_user
rename table user to t_user;

# 迁移表 
rename table t_user to mydb2.user;#把t_user迁移到mydb2并改名user

# 修改字符集 
alter table user character set gbk;

#4 删除表
drop table user;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值