(1条消息) CGB-MYSQL-summary-v1.0_Allure泽宇的博客-CSDN博客
数据库分类:
关系型数据库:建立在数据的紧密关系基础之上,Oracle、MySQL、SQLServer、Access
非关系型数据库:建立在数据的松散关系基础之上,MongoDB、Redis、Solr、ElasticSearch、Hive、HBase
SQL语言分类:SQL语言不区分大小写
DML(Data Manipulation Language)数据操纵语言,如:insert,delete,update(插入、删除、修改、检索)简称CRUD操新增Create、查询Retrieve、修改Update、删除Delete
DDL(Data Definition Language)数据库定义语言,如:create,alter, 之类
DCL(Data Control Language)数据库控制语言,如:grant、deny、revoke等,只有管理员才有相应的权限
DQL(Data Query Language)数据库查询语言,如: select 语法
创建数据库
create database Sql;
删除数据库
drop database Sql;
查看所有数据库
show databases;
修改表
查看所有表
show tables;
创建表
create table tb_door(
id int primary key auto_increment,
door_name varchar(100),
tel varchar(50)
);
查看当前表的结构
desc tb_door;
添加属性
alter table tb_door add column address varchar(100);
删除表
drop table tb_door;
表记录的操作
查询表中的所有记录
SELECT * FROM tb_door;
添加记录
insert into tb_door values(null,'永和大王1店',666);
防止中文乱码
set name gbk;
修改记录
update tb_door set tel=555 where id=1;
删除记录
Delete from tb_door where id=2;
字符
char长度固定,不足使用空格填充,最多容纳2000个字符,char(11)存储abc,占11位。查询速度极快但浪费空间
varchar变长字符串,最多容纳4000个字符,varchar(11)存储abc,只占3位。查询稍慢,但节省空间
数字
tinyint,int整数类型
float,double小数类型
numeric(5,2) decimal(5,2)—也可以表示小数,表示总共5位,其中可以有两位小数
日期
date 包含年月日
time时分秒
datetime包含年月日和时分秒
timestamp时间戳,不是日期,而是从1970年1月1日到指定日期的毫秒数
字段约束
非空约束:如果为一个列添加了非空约束,那么这个列的值就不能为空,但可以重复。
create table user(
id int primary key auto_increment,
password varchar(50) not null
);
唯一约束:如果为一个列添加了唯一约束,那么这个列的值就必须是唯一的(即不能重复),但可以为空。
create table test(
id int primary key auto_increment,
username varchar(50) unique--唯一约束
);
主键约束:(primary key)如果为一个列添加了主键约束,那么这个列就是主键,主键的特点是唯一且不能为空。
主键自增策略(auto_increment)
create table abc(
id int primary key auto_increment
);
insert into abc values(null);
insert into abc values(null);
insert into abc values(null);
select * from abc;