栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mysql数据库初级理论增/删/改/查

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mysql数据库初级理论增/删/改/查

一,理论:

数据库:数据库是一个存放数据的仓库,这个仓库按照一定的数据结构来组织,存储,我们可以通过数据提供的多种方法来管理数据库里的数据

数据库的分类:关系型数据库和非关系型数据库

关系型数据库:MariaDB,SQL Server,MySQL,ORACLE,SALite,PostgreSQL,ORACLE

非关系型数据库:Redis,MongoDB,Cassandra,Neo4j,CouchDB,HBASE

MySql数据库优点:Mysql是开源代码的数据库

                             Mysql是跨平台性

                             开源免费

                             功能强大

                     缺点:读写性能比较差,尤其是海量数据的高效率读写

                              固定的表结构,灵活度稍欠

                              高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈

MySql数据库工作原理:

                             第一步,应用程序把查询SQL语句发给服务器端执行,

                             第二步,服务器解析请求的SQL语句

                             第三步,语句执行

SQL语言分为四大类:

    数据库定义语言DDL,数据库操纵语音DML,数据库查询语言DQL,数据库控制语言DCL。

    数据库定义语言:create 创建,drop 删除表,truncate 清空表数据,表存在,alter 修改表名

    DML数据库操纵语言:insert 增加,delete 删除,update 修改

    DQL数据查询语言:SELECT 字段名,FROM 表或视图名,WHERe 查询条件

    DCL数据控制语言:grant授予,revoke回收,commit提交,rollback回滚

常见的数据类型:

    char:定长字符串(固定),0-255字节

    varchar:定长字符串(可变),0-65535字节

    text:长文本书库,0-65535字节

    备注:总位数定义好,插入数据不能超出总位数,如果要超出,修改总位数的值

数值类型:

    int:整数(123,222,88)

    bigint:极大整数(456678902345)

    Double:浮点数,小数

日期时间类型:

    Date:年,月,日

    time:时,分,秒

    Datetime:混合日期和时间值 YYYY-MM-DD HH-MM-SS  如:2022-07-02 10:16:28

    TimesTamp:混合日期和时间值,时间戳

    datetime与Timestamp的区别:

    Datetime的范围是1000-9999年

    Timestamp的范围是1970-2038年

约束类型:

主键约束:primary key:主键约束相当于,唯一约束+非空约束的组合,主键约束列不允许重复,也不允许出现空值,数据库的设计规范要求每张表都需要创建一个主键,一般第一列的值为主键,不为空一定要赋值,并且是唯一的

唯一约束:unique:要求这一列的值唯一,但是可以允许为空

非空约束not null:该值不能为null,一定要赋值。如果不向字段添加值,就无法插入新记录或者更新记录

默认约束:default:当插入记录是,如果没有明确为字段赋值,则自动赋予默认值

外键约束:foreign key:从表中某一列的数据必须在主表中存在,外键约束主要用于2张表的关联,分为主表和从表。

二,语法:

创建表:create table 表名(名字 类型(长度)  是否为空);

如创建学生表:create table student( id int(20) not null);

解释:括号分别代表id(学生编号),int是整数,设置长度为20,not null设定不能为空。

查询表:Select * from 表名;

条件查询:select * from student where name='周杰伦';   

               从student表中查询姓名为周杰伦的数据

               select * from student where age=18;              

               从student表中查询年龄等于18的数据

               select * from student where age = 18 or name='小红' 

               从student表中查询年龄等于18或者姓名等于小红的数据

删除表:drop table 表名;

修改表名:alter table 旧表名 rename to 新表名;

条件删除:delete from student where age=30;

               从student表中删除年龄为30岁的数据

               delete from student where age=22  or  name='周杰伦'

               从学生表中删除年龄22或者姓名为周杰伦的数据

往表内插入值:

               insert into 表名 values(值,值1,值2.....);

               insert into stu(字段,字段1,字段2......)values(值,值1,值2......);

增加字段:alter table 表名 add(字段名 类型(长度) 是否为空);

           如:alter table stutend add(id int(20) not null)

delete,drop,truncate的区别

delete:删除整张表和数据,如果删除部分数据需要带where字句。

truncate:将表中的数据全部删除,不支持带where条件删除,删除内容不删除表结构

drop:删除表结构,以及被依赖的约束与触发器,索引等

总结:当你不再需要该表时,建议使用drop,当你想清空表数据时使用truncate,当你想删除表中的部分内容时,使用delete。

修改表值:update 表名 set 列名1=值,列名2=值

                如:update student set age=22,name='周杰伦';

                将student表年龄设置22,姓名设置为周杰伦

条件修改:update 表名 set 列名=值 where 列名=值;

                如:update student set name='林俊杰' where name ='周杰伦';

                 将表中姓名为周杰伦的人改为林俊杰

                 update student set name='马冬梅' ,sex='女' where name='夏洛',sex=‘男’;

                 将表中姓名为夏洛,性别是男的改为姓名为马冬梅,性别为女

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1003245.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号