java第30天sql基础

MYSQL

1.sql语句

(1)sql语句:结构化查询语言-->写一段只能被数据库识别的语句,可以对数据库中的数据进行增删改查操作
(2)sql语句的组成:

  • DML:数据操作语言-->数据库中的增删改(insert,delete,update)
  • DDL:数据定义语言-->对数据库中的表结构进行操作(alter,create,drop等)
  • DCL:数据控制语言-->数据库中的权限设置以及事务提交和回滚(granted,revoke,commit,rollback)
  • DQL:数据查询语言-->数据库中的查询(select)

2.数据库中的数据类型

1 整数:int(数字):数字通常是指整数的位置(该位数数字并不会影响int的取值范围)
2 小数:double(数字1,数字2):
例如:double(8,2):表示该数的整数位最多为6位,二小数位保留两位
3 日期类型:date
4 字符串类型:

  • char(长度)
  • varchar(长度)
    注意:上面两个类型都表示字符串的长度最多为多少,区别在于char是一个不可变的字符串类型,也就是说括号里的长度写了多少,存进去的数据如果不足该长度,会自动补全长度.而varchar是一个可变的字符串类型,也就是存多少,占多少.
    例如:char(12):如果存的长度是4,则会补全12个空格
    varchar(12):如果存的是长度4,那就是4

3.创建表

语法:create table 表名(
字段名1 数据类型,
字段名2 数据类型,
字段名n 数据类型
)
注意:最后一个字段的数据类型后面不需要添加逗号!

4.添加数据

insert

语法1:
insert into 表名(字段1,字段2,字段n) values(字段1的值,字段2的值,字段n的值)
语法2:
insert into 表名 values(字段1的值,字段2的值,字段n的值)

语法1的好处是,插入数据的时候,可以自行选择插入数据的字段顺序,且碰到没有费控约束条件/有默认约束字段时,我们可以选择不手动插入该字段的值
语法2的表名后面没有接对应的字段,这就要求使用者插入数据的时候,数据的值必须要和表中字段出现的顺序一一对应上,因此语法1使用看起来更加的灵活

5. 查询:

  1. select 字段1,字段2,字段n from 表名(where 条件是)
  2. select * from 表名(where 条件是)
    注意:select在查询数据的时候,需要加where条件进行数据筛选,否则如果数据量过大,每次在查询所有数据,会过度占用系统资源(实际开发时,查询一定要注意添加where或者分页查询数据)
    查询语句还支持算术运算符(+,-,*,/,%),关系运算符(<,>,=,!=,<>,>=,<=)

6. null值

注意:判断是不是null需要使用is或者is not

7. and(&&)和or(||)

8. 修改:

语法:

update set 字段1=1,字段2=2...字段n=值n (where 条件是)

注意:update在更新数据的时候,一定记得添加where,否则整个表中的数据都会被修改

9. 删除

  • delete:删除表中所有的数据(可以回滚)
    注意:delete在删除的时候,也需要添加where条件,否则会将表中所有的数据都删除
    语法:
update from 表名 where 条件
  • drop:删除表结构(不能回滚)
    语法:
update table 表名
  • truncate:删除表中的所有数据(不能回滚)
    语法:
truncate table 表名

注意:不能与where连用

10.数据库事务的提交和回滚

  • commit:手动提交事务
  • rollback(只回滚到上一次提交的地方)
    mysql数据库默认的情况下是自动提交数据的,也就是我们对数据库进行增删改查操作,会直接影响到数据库中的数据,如果我们设置了数据库不自动提交数据,name进行增删改查后,就需要我们手动commit提交,否则,并不会真实影响数据库中的数据
    set autocommit=0; -- 设置数据库不自动提交
    set autocommit=1; -- 设置数据库自动提交

11. 在dos命令开启事务

begin;
或者start stransaction;
步骤:

mysql -uroot -p密码
use 数据库名 
begin;或者stransaction;
写sql语句
rollback或者commit

12.修改表结构

  • 新增字段
    语法:
    alter table 表名 add 新增字段名 数据类型
  • 修改字段的数据类型(不能在有数据的情况下去修改)
    alter table 表名 modify 字段名 新的数据类型

13 查看表结构

desc 表名

约束条件

- 主键约束:primary key 非空且唯一

  1. 主要使用于id字段(序号字段)
  2. 一个表中最多只能有一个主键
  3. 多个字段可以联合起来共同做主键(复合主键)
    - 非空约束:not null 非空
  4. 必填的字段
    - 默认约束:default 有默认值
    - 唯一约束:unique key 唯一
  5. 不能重复存在的内容
    - 自增长约束:auto_increment 会自动增长
  6. 通常和主键绑定,设置自增
  7. 自增的值我们可以设置,但是不建议,默认自增1
    - 外键约束:foreign key 用于多张表
  8. 建立外键的表之间数据是互相关联约束的
  9. innodb才支持外键设置
  • InnoDB
  • MyISAML
posted @   不再犹豫27  阅读(54)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示