数据库:database(DB)
show databases; # 显示当前数据关系系统中所有数据库对象
| information_schema |
| mysql |
| performance_schema |
| sys |
这四个数据库是官方内置的数据库,它们是有特殊作用的,不要随意的修改
一般我们需要使用数据库是时候,自己创建一个数据库
创建数据库:
create 指令的使用
create [user|database|table|view|index|function|……] [其他条件或者约束]
创建数据库
create database 数据库名称; # 创建一个属性全部默认的数据库
MySQL数据库默认的编码是Latin1编码
create database 数据库名称 default charset=utf8mb4; # 创建数据库,同时确定该数据库的编码
数据库里面有表的对象,来存储真正的数据
删除数据库:
drop [user|database|table|view|index|function|……] option
drop database 数据库名称;
进入数据库
use 需要进入的数据库 # 进入到对应的数据库
表(table):
创建表:
describe(desc) 表名; # 描述表的结构
select * from 表名; # 查询表的所有数据
在创建表的时候,需要确定表的结构表的字段,字段的类型,字段的约束条件
create table 表名称(
字段1 类型 [约束条件 ……],
字段2 类型 [约束条件 ……],
……
字段n 类型 [约束条件 ……]
);
CREATE TABLE t_user (
id int primary key , -- (主键约束)
name varchar(50) not null unique, #不能为空,也不能重复(非空约束,唯一约束)
age int default 18, #(默认约束)
address varchar(255)
)
/****
多行注释
创建一个用户表
*****/
CREATE TABLE t_user (
id int primary key auto_increment, -- 主键, 并且自增
name varchar(50) unique, # 允许为空,但是不能重复
age int default 20,
address varchar(255)
)
约束条件:
主键约束:用来做数据的唯一标识符,不能为空
注意:我们一般不关心主键的值,只要符合我们的规则即可
所以我们一般建议主键自增,一般默认从1开始,每次增加1,
如此就不用我们再维护该字段
非空约束: not null
唯一约束:不能重复,可以有一次为空
默认值约束:如果在插入的数据没有给值,则默认为空,但是如果给了默认值,则如果没有插入,则该值是默认值
表中插入数据
insert into 表名称[(字段1, ……, 字段n)] values(值1,……,值n);
删除表:
drop table 表名称;