数据库相关概念
数据库(DataBase,简称DB):存放数据的仓库,数据有组织的进行存储。
数据库管理系统(DataBaseManagementSystem,简称DBMS):操纵和管理数据库的大型软件。
SQL语言(Structured Query Language 结构查询语言):操作关系型数据库的一种编程语言,定义了一套操作关系型数据库的统一标准。
通过SQL语言操纵数据库管理系统,从而管理数据库里的数据。
启动/停止MySQL:管理员打开cmd窗口,输入net start/stop mysql(如果你是mysql80则输入替换成mysql80)启动/关闭mysql服务。
连接至MySQL:同样管理员打开cmd输入指令mysql -u root -p,然后输入密码就进入MySQL了。
关系型数据库:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。
1:使用表存储数据,格式统一 2:使用SQL语言操作,标准统一
非关系型数据库
键值数据库
数据库中的数据类型
数值类型
在创建表时使用了int类型的数据,可在其后添加unsigned来表示其数据无符号;
unsigned无符号的
例如,年龄不可能为负值,则可写为 age int unsigned
字符串类型
日期和时间类型
SQL分类
DDL(Data Definition Language):数据定义语言,用来定义数据库对象(数据库,表,字段)
DML(Data Manipulation Language):数据操作语言,用来对数据库表中的数据进行增删改
DQL(Data Query Language):数据查询语言,用来查询数据库中表的记录
DCL(Data Control Language):数据控制语音,用来创建数据库用户、控制数据库的访问权限
DDL 数据库操作
查询
查询所有数据库:show databases;
查询当前数据库:select database();
创建
create database [if not exists] 数据库名 [default charset 字符集][collate 排序规则];
删除
drop database [if exists] 数据库名;
使用
use 数据库名;
查询当前数据库中的所有表
show tables;
查询表结构
desc 表名;
查询指定表的建表语句
show create table 表名;
(管理员打开的命令行与Navicat中均可使用)
DDL 数据操作
添加字段
alter table 表名 add 字段名 类型(长度) [comment 注释][约束]; --[ ]中的内容可写也可不写。
修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型(长度);
修改数据类型
alter table 表名 modify 字段名 新数据类型(长度); modify 修改;调整
修改表名
alter table 表名 rename to 新表名;
删除字段
alter table 表名 drop 字段名;
删除表
drop table [if exists] 表名; 使用[ ]中的内容时要把[ ]去掉,
如:删除学生表格 drop table if exists student;
删除指定表,并重新创建该表
truncate table 表名; truncate截断;删节
注: 在删除表时,表中全部数据也会被删除。
DML操作
插入数据
向指定字段插入数据
insert into 表名(字段名1,字段名2,...) values(值1,值2,...); --记得字段与数据一一对应
向全部字段插入数据
insert into 表名 values(值1,值2,...);
批量添加数据
insert into 表名(字段名1,字段名2,...) values(值1,值2,...),(值1,值2,...),(值1,值2,...);
insert into 表名 values(值1,值2,...),(值1,值2,...),(值1,值2,...);
DML 修改数据
update 表名 set 字段名1=值1,字段名2=值2,... [where 条件];
例如:将表中ID为1的小美的名字改为小明:
update 表名 set name='小明' where ID=1;
--如果不加条件,则会将字段名下所有数据修改。
DML 删除数据
delete from 表名 [where 条件]
--如果不加条件,则删除表中所有数据。
--delete不能删除某一个字段的值,若想删除单个字段中的值,需要用 update将其设置成NULL值。