数据库的英文单词:DataBase 简称:DB
数据库的特点:
1.持久化存贮数据的。其实数据库就是一个文件系统
2.方便存贮和管理数据
3.使用了统一的方式操作数据库–SQL
SQL
结构化查询语言
1.SQL语句可以单行或多行书写,以分号结尾;
2.可使用空格和缩进来增强语句的可读性
3.MySQL数据库的SQL语句不区分大小写
4.3种注释
*单行注释 – 注释内容
多行注释: / 注释 */
SQL分类
1.DDL:操作数据库,表
2.DML:增删改表中的数据
3.DQL:查询表中的数据
4.DCL:授权权限
DDL:操作票数据库,表
1.操作数据库:CRUD
1.C(Create):创建
*创建数据库:
*create database 数据库名称;
*创建数据库,判断不存在,在创建;
*create database 数据库名称 character set 字符集名
2.R(Retrieve):查询
*查询所有数据库的名称:
*show database
*查询某个数据库的字符集:查询某个数据库的创建语句
*show create database数据库名称;
3.U(Update):修改
*修改数据库的字符集
*alter database 数据库名称 character set 字符集名称
4.D(Delete):删除
*删除数据库
*drop database 数据库名称
*判断数据库存在,存在再删除
*drop database if exist 数据库名称;
5.使用数据库
*查询当前正在使用的数据库名称
*select database();
*使用数据库
*use 数据库名称;
操作表
1.C(Create):创建
1.语法:
create table 表名(
列名1 数据类型1,
列名2 数据类型2,
。。。
列名n 数据类型n
);
*注意:最后一列,不需要加逗号(,)
*数据库类型:
1.int; 整数类型
*age int,
2.double:小数类型
*score double(5.2)
3.data:日期,只包含年月日,yyyy-MM-dd
4.datatime:日期,包含年月日时分秒 yyyy-mm- dd HH:mm:ss
5.timetamp:时间错类型 包含年月日时分秒 yyyy-mm-dd HH:mm;ss
*如果将来不给
2.R(Retrieve):查询
*查询某个数据库中
*show tables;
*查询表结构
*desc 表明;
3.U(Update):修改
*修改表明
alter table表名 rename to 新的表名;
*修改表的字符集
alter table 表名 character set 字符集名称;
*添加一列
alter table 表名 add 列名 数据类型;
修改列名称 类型
alter table 表名 change 列名 新列别 新数据类型;
alter table 表名 modify 列名 新数据类型;
删除列
alter table stu drop sex;
4.D(Delete):删除
drop table 表名;
*drip table if exists 表名;
5.使用数据库 中所有的表名称
客户端图形化工具:SOLYog
##DML : 增删改表中数据
1.添加数据:
*语法:
*insert into 表名(列名1.列名2,…列名n) values(值1.值2,…值n)
*注意:
1.列名和值要一一对应
2.如果表名后,不定义列名,则默认给所有添加值
insert into 表名 values(值1,值2,…值n);
2.删除数据;
*delect *from 表名;
*注意:
1.如果不加条件,则删除表中所有记录。
2.如果要删除所有记录
1.delete from表名; --不推荐使用,有多少条记录就会执行多少次删除操作
3.修改数据;
upadate 表名 set 列名1 = 值1,列名2=值2;
如果不加任何条件,则会将表中所有记录都会更改
##DQL :查询表中的记录
*select *form 表名;
1.语法:
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组之后的条件
order by
排序
limit
分页限定
2.基础查询
*1.多个字段的使用
select 字段名1, 字段名2,…from 表名;
2.去除重复:
*distinct
3.计算列
4.起别名
3.条件查询
1.where字句后跟条件
2.运算符
约束
概念:对表中的数据进行绑定,保证数据的正确性,有效性和完整性。
分类:
1.主键约束:primary key
.非空且唯一
.一张表只能有一个字段为主键
.主键就是表中记录的唯一标识
删除主键:
alter table stu drop primary key;
2.非空约束:not null
3.唯一约束:uniqque
某一列的值不能重复
4.外键约束:foreign key