您的位置:首页 > 汽车 > 新车 > Mysql基础进阶速成版

Mysql基础进阶速成版

2024/7/2 7:02:57 来源:https://blog.csdn.net/m0_73426548/article/details/139510140  浏览:    关键词:Mysql基础进阶速成版

一:sql语句:

1.创建一张表:写成公式:创建函数(create table)+表名+(配置字段)。配置字段公式:字段名称+字段类型,常用的类型有:整数类型int(8),int(16),int(32).....,小数类型float(8),float(16)......,字符串类型varchar(8),varchar(16).....时间类型data,datetime,二进制文件blob,文本类型text....等等这些

每条sql语句后面都要加英文分号;

13.	create table table_name(
14.	        int_name int(6), -- 6显示长度 
15.	        varvhar_name varchar(5), -- 5个字符
16.	        sex char(1),
17.	        age int(3),
21.	);

查看表结构公式:desc + 表名字

desc table_name;

查询表中的数据:select * from +表名(后面会详细讲查询语句)

show * from table_name;

 在表中插入数据:insert into +表名 + values +数据,除了整数和浮点类型,其他都要有引号单引双引都可以,如果输入类容有引号,要遵守引号使用规则

insert into table_name values (1,'字符串','男','20');

 修改表中的数据:update + 表名 + set + 要修改的字段名。

updata table_name set int_name=2;
updata table_name set varchar_name = '很长的字符串';

增加一列数据,也就是增加一个字段:alter table+ 表名 + add +字段名 + 字段类型

alter table table_name add wight float(16);

 删除字段:alter + table + 表名 + drop +字段名

alter table table_name drop wight;

修改字段 :alter + table + 表名 + modify + 字段名字 + 字段类型(不能修改字段名字)

alter table table_name modify wight int(6);

 修改字段:alter table +表名 + change + 原字段名+新字段名+新字段类型

alter table table_name change wight new_wight float(32);

删除表:drop table + 表名

drop table table_name;

 非外键约束:也就是给字段添加一些禁制,在创建字段的时候在字段后面添加:

primary key 主键约束,这个字段的数据不能为空且不能重复

not null:保存数据的时候这个字段的值不能为空

defalt  不填写时候的默认值,check后面跟的是填写的选项

auto increment:在加入数据的时候该字段的值会自动向上增加

unique:唯一约束,

以上这些约束,在保存数据的时候如果违背了这些约束那么程序会报错

# 一个个人信息表:
create table table_name(proson int(8) primary key auto increment,name varchar(5) not null,sex char(1) default '男' check (sex='男' || sex='女'),age int(3)
);

如果表已经创建好了怎么添加约束呢:

alter table +表格名称 add constraint +约束名称 +增加的约束类型 +(列名)

还可以使用修改表中字段的方式添加约束:alter table+表名+modify +字段名字+字段类型+约束

alter table table_name add constraint primary key (proson);
alter table table_name modify proson int(8) auto increment;

 外键约束:

这个是用来作两张表之间的约束的,外键是指表中某个字段(A)的值依赖于另一张表中某个字段(B)的值,而被依赖的字段(B)必须具有主键约束或者唯一约束,被依赖的表(B表)我们通常称之为父表或者主表,设置外键约束的表(A表)称之为子表或者从表。

举个栗子:有两张表,你们班级的表()里面有每个学生的信息,辅导员的表里面有辅导员的信息(),你们班级的表中有一个字段teacher表示每个学生的辅导员是谁,辅导员表中有一个字段students表示有哪些班的学生,那么学生表中的teachar字段的取值范围(辅导员人数)取决于辅导员表中的students的取值来决定。这样就把两张表联系起来了。还是有点抽象?

创建辅导员表:

create table teacher(id int(4) primary key auto increment,name varchar(10) not null,class char(4)
);

 向里面添加数据

insert into teacher values (null,'土木一班','a104');
insert into teacher values (null,'土木二班','a105');
insert into teacher values (null,'土木三班','a106');# 或者一次全部插入用逗号隔开insert into teacher values (null,'土木三班','a106'),(null,'土木二班','a105'),(null,'土木一班','a104');

创建学生表:

create table student(id int(6) primary key auto increment,name varchar(5) not null,on_class int(4)
);

 插入学生数据

insert into student values (null,'张三',1),(null,'李四',1),(null,'王五',2);

 添加外键约束

alter table 表名 add constraint 约束名称 约束类型 (列名) references 被引用的表名称 (列名)

这里会报错,那是因为还没加约束之前就有数据了,先将数据清空在添加约束 

foreign key : 外键约束

fk_class:这两个表之间的约束名称

alter table student add constrain fk_class foreign key (on_class) references teacher (class);

 两个表有外键约束,删除的时候报错?那是因为删除主表的时候有外键约束着,是不能删除的,所以要先删除从表在删除主表。

新建表两个表的数据和结构要一致:create table + 新建表表名+as select * from+已有表名

新建表两个表的结构要一致,新表没有数:

create table + 新建表表名+as select * from+已有表名+where 1=2;

其实就是后面的where条件判断,你判断什么样它就新建成什么样

create table student2 as select * from student1;
create table student3 as select * from student1 where 1=2;

删除数据,保留字段:delete from+表名  或者 truncate table +表名

两者的区别在于delete是将表中的数据一条条的删除(可以回滚),truncate是创建一个结构和原表一样的表,然后将原表删除(注意:数据不能回滚!!)

delete from student;
truncate table student;

 表中的数据查找;

select + 需要查询的字段名称+from+表名     ,*代表所有的数据

需要查找的字段名之间使用逗号隔开,如果是用空格隔开代表对中国字段取一个别名,在显示中显示的是这个别名,如果是对字段使用运算符,那个查询出来的值就是这个字段的每个数据使用这个运算后的数据。

select * from student; 
select age,weight,name from student;
select age '年龄',weight '体重',name '姓名' from student;
# 将查询出来的年龄加二十岁
select age+20,weight,name from student;

排序查询查找: select + 需要查询的字段名称+from+表名 +order by +对字段排序的字段名+升降。asc表示升序(默认),desc降序

select * from student order by age asc;

条件查询: select + 需要查询的字段名称+from+表名+where +条件

如果是多个条件,使用and并或者&&,or或者||来连接

select * from student where age>20;
select * from student where name='张三';
select * from student where age>20 and name='张三';
select * from student where age>20 && name='张三';

 

内容太多了,后面的章节放到下一个文章里了。 都看到这里了记得点个赞呗!!!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com