##SQL
## DDL:操作数据库、表
操作数据库:CRUD:创建、查询、修改、删除、使用
查询数据库
进入指定数据库,
创建数据库create
创建字符集为gbk的:
综合:创建DB4数据库,判断是否存在,并制定字符集为gbk
修改数据库alter database将gbk格式改为utf-8
删除delete —删除数据库drop database数据库名称;
先判断如果存在在删除:
使用数据库:use +数据库名称查询当前正在使用的数据库名称select database();
查询某个数据库中所有表的名称:Show tabales;
查询表结构:desc表名;
创建表:
语法:
Creatle table表(
列名1数据类型1,
列名2数据类型2,
列名3数据类型3,
...
列名n数据类型n
); *注意最后一列不加逗号
*数据类型*数据库类型:1. int:整数类型* age int, //年龄为int类型。2. double:小数类型* score double(5,2) //5位,小数保留2位小数。最大值999.993. date:日期,只包含年月日,yyyy-MM-dd4. datetime:日期,包含年月日时分秒 yyyy-MM-dd HH:mm:ss5. timestamp:时间错类型,包含年月日时分秒 yyyy-MM-dd HH:mm:ss
*如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值6. varchar:字符串* name varchar(20):姓名最大20个字符* zhangsan 8个字符 张三 2个字符
*创建表
-create table student(
Id int ,
name varchar(32),
age int,
score double(4,1),
birthday date,
insert_time timestamp
);
复制表:
删除表:drop table if exists表名;
修改表:
1/修改表名:alter table表名 rename to 新的表名;
2. 修改表的字符集
3.添加一列 alter table表名 add 列明 数据类型;
4修改列名称类 改名字改类型
5.只改类型
6.删除列
## DML:增删改表中数据
添加数据
*语法
*insert into表名(列名1,列名2,....列名n)value(值1,值2,.....值n);
查询 select * from 表名;
删除数据
*语法、
*delete from表名where 条件; 当条件满足删除数据
删除所有记录
修改数据*
*语法、
update表名 set 列名1 = 值1,列名2 = 值2,....where 条件;--条件就是改谁
## DQL:查询表中的记录
创建一个表
基础查询
条件查询:
LIKE:模糊查询
约束
概念:对表中的数据进行限定,保证数据的正确性、有效性和完整性。
分类: 1.主键约束:primary key
2.非空约束:not null
3.唯一约束:unique
4.外键约束:foreign key
## 数据库的设计(多表)
实现关系
1.一对多(多对一): 如:部门和员工 实现方式:在多的一方建立外键,指向一的一方的主键。
2.多对多: 如:学生和课程 实现方式:多对多关系实现需要借助第三张中间表。中间表至少包含两个字段,这两个字段作为第三张表的外键,分别指向两张表的主键
3.一对一: 如:人和身份证 实现方式:一对一关系实现,可以在任意一方添加唯一外键指向另一方的主键。
数据库设计范式
数据库密码忘记如何找回:
数据库项目:
1. 多表查询
2. 事物
3. DCL
事务
概念: 如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败
操作:
开启事务: start transaction;
回滚:rollback;
提交:commit;
## DCL: