【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
**开源地址:https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB **
create database IF NOT EXISTS ncayu CHARACTER SET utf8;
2、创建表格:
use ncayu;
create table IF NOT EXISTS students(
id int,
name varchar(30),
age int
);
3、更改表结构(设置约束)
desc students; //查看表结构
alter table students drop column age;
alter table students add column age int;
4、删除表、删除数据库
drop table students;
drop database students;
![在这里插入图片描述](https://img-blog.csdnimg.cn/dfd0b8b4bf4e4c258590279f64b866f0.png#pic_center)
#### 基础操作
###创建数据库:
create database 数据库名;
显示所有的数据库:
show databases;
删除数据库:
drop database 数据库名;
###使用数据库:
use 数据库名;
创建表:
create table 表名(
字段1的名字 数据类型(长度) [not null] [primary key] [auto_increment],
字段2的名字 数据类型(长度) [default ‘默认值’]
)
使用表:
改字段的类型及长度: alter table 表名 modify 要改的字段的类型(长度);
改字段的名字和类型及长度: alter table 表名 change 旧字段名 新字段名 类型(长度);
添加字段:alter table 表名 add 新字段名 类型(长度);
删除字段:
Alter table 表名 drop column 字段的名字;
一条语句中包含多个修改操作
ALTER TABLE 表名 操作1, 操作2, …, 操作n;
三句一起写:
alter table 表名 modify 要改的字段的类型(长度),change 旧字段名 新字段名 类型(长度),add 新字段名 类型(长度);
修改表名:
Rename table 旧表名 to 新表名;
设置外键:
Alter table 要设置外键的表名 add constraint 外键的名字 foreign key(关联的字段名) references 关联的表名(关联的字段名)
删除外键:
Alter table 要删除外键的表名 drop foreign key 外键的名字;
删除字段:
Alter table 表名 drop column 字段的名字;
删除表:
Drop table 表名;
### DML:
DML(Data Manipulation Language)数据操纵语言:
适用范围:对数据库中的数据进行一些简单操作,如insert,delete,update,select等.
DML操作是需要手动控制事务的开启、提交(commit)和回滚的。
DML代表数据操作语言,它创建的模式(表)使用数据操作语言来填充。DDL填充表的行,每行称为Tuple。使用DML,您可以插入,修改,删除和检索表中的信息。DML命令有助于管理存储在数据库中的数据。但是,DML命令不会自动提交。因此,变化不是永久性的。因此,可以回滚操作。
一些DML命令包括insert,update,delete和select。insert命令有助于将新记录或行存储到表中;update命令有助于修改表中的现有记录;delete命令允许从表中删除某个记录或一组记录;select命令允许从一个或多个表中检索特定记录
插入数据:
1)所有字段都插:insert into 表名 values(字段值1,字段值2…);
2)选择相应的插入:insert into 表名(字段1,字段2) values(字段值1,字段值2…);
3)插入多行数据:insert into 表名 values(字段值1,字段值2…),(字段值1,字段值2…)…;
INSERT语句注意事项:
向字符串类型的char、varchar、text以及日期型字段插入数据时,字段值要括于单引号中。
向自增型auto_increment字段插入数据时,建议插入NULL值,此时将向自增型字段插入下一个编号。
向默认值约束字段插入数据时,字段值可以使用default关键字,表示插入的是该字段的默认值。
插入新纪录时,需要注意表之间的外键约束关系,原则上先为主(父)表插入数据,然后再为从(子)表插入数据。
修改数据:
Update 表名 set 要修改的字段名1=新的值,要修改的字段名2=新的值… where 主键的字段名=要修改的值对应的主键值
删除数据:
删除一条:delete from 表名 where 主键的字段名=要删除的值对应的主键值
删除所有:delete from 表名
复制表:
Create table 新表名 like 旧表名;
复制表数据:
Insert into 新表名 select * from 旧表名;
要删除有关联的外键数据时:
创建外键的时候删除时设置为:set null /cascade