zoukankan      html  css  js  c++  java
  • JAVA基础-数据库基础操作

    SQL语言的分类

    1. 数据定义语言:(DDL,Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop 等。

    2. 数据操作语言:(DML,Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update 等

    3. 数据控制语言:(DCL,Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户;关键字:grant 等。

    4. 数据查询语言:(DQL,Data Query Language),用来查询数 据库中表的记录。关键字:select,from,where 等

    MySQL数据类型分类

    MySQL支持多种数据类型,大致分为三类:

    数值

    日期/时间

    • 日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和 YEAR

    • 每个时间类型有一个有效值范围和一个"零"值,当指定不合法的 MySQL不能表示的值时使用"零"值。

    字符串(字符)类型

    • 字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、 BLOB、TEXT、ENUM和SETCHAR和VARCHAR类型类似,但它们保存和检索的方式不同。
    • BINARY和VARBINARY类似于CHAR和VARCHAR,不同的是它 们包含二进制字符串而不要非二进制字符串。
    • BLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB
    • 有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和 LONGTEXT。

    简单的SQL语法

    创建数据库

    create database 数据库名; 
    
    create database 数据库名 character set 字符集; 
    
    建议字符集格式设置 utf8或gbk 
    

    查看数据库

    查看数据库服务器中的所有的数据库:show databases;
    查看某个数据库的定义的信息:show create database 数据库名;
    

    删除数据库

    drop database XXX
    

    修改数据库

    修改数据库默认的字符集:
    alter database 数据库名 default character set 字符集
    

    创建表

    create table 表名(
     -- 可以定义多个列
    字段名 类型(长度) 约束,
     字段名 类型(长度) 约束
    );
    查看数据库中的所有表:show tables;
    查看表结构:desc 表名; 
    查看创建表的 SQL 语句:show create table 表 名;
    

    这里要注意的是double类型在指定长度的时候,我们需要指定小数点之前的长度和小数点之后的长度。

    删除表

    drop table 表名;
    

    修改表

    --修改表添加列
    alter table 表名 add 列名 类型(长度) 约束;
    -- 修改表修改列的类型长度及约束
    alter table 表名 modify 列名 类型(长度) 约束; 
    -- 修改表修改列名
    alter table 表名 change 旧列名 新列名 类型(长度) 约束;
    -- 修改表删除列
    alter table 表名 drop 列名; 
    -- 修改表名
    rename table 表名 to 新表名;
    

    约束

    主键约束

    主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录

    //创建表的时候添加主键
    CREATE TABLE Persons
    (
    Id_P int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    PRIMARY KEY (Id_P)
    )
    
    
    //后期添加主键
    ALTER TABLE Persons ADD PRIMARY KEY (Id_P)
    
    //如果想添加多个列的主键
    ALTER TABLE Persons ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
    
    //删除
    ALTER TABLE Persons DROP PRIMARY KEY
    ALTER TABLE Persons DROP CONSTRAINT pk_PersonID
    
    //查看当前约束
    SHOW KEYS FROM students ;
    

    唯一约束

    • 唯一约束是指定table的列或列组合不能重复,保证数据的唯一性

    • 唯一约束不允许出现重复的值,但是可以为多个null

    • 同一个表可以有多个唯一约束,多个列组合的约束

    • 如果不给唯一约束名称,就默认和列名相同

    • MySQL会给唯一约束的列上默认创建一个唯一索引

    ---添加唯一约束   
    Alter Table stuInfo Add Constraint UQ_stuID unique(stuID)   
    

    外键约束

    ---添加外键约束   
    ALTER TABLE students 
    ADD CONSTRAINT FOREIGN KEY (class_Id) REFERENCES class(class_Id);
    
    

    插入数据

    # 插入一条数据
    INSERT INTO class (class_Id,NAME) VALUES ( 3, '三班')
    
    #插入全部数据的简写
    INSERT INTO class  VALUES ( 3, '三班')
    
    # 插入多行数据
    INSERT INTO class VALUES ( 5, '五班') ,(6,'六班')
    

    删除数据

    //删除整个表
    DELETE FROM teache;
    
    //删除表中符合条件的某个数据
    DELETE FROM students WHERE class_Id=3;
    

    注意:
    删除表中所有记录使用【delete from 表名】,还是用【truncate table 表名】? 删除方式的区别:

    • delete :一条一条删除,不清空 auto_increment 记录数。只删除数据表结构还在
    • truncate :直接将表删除,重新建表,auto_increment 将置为零,从新开始。

    修改数据

    UPDATE students SET NAME='王健森',age=24 WHERE NAME='王五'
    
  • 相关阅读:
    Linux的内存分页管理
    python3将汉字转换为大写拼音首字母
    linux下安装微信小程序开发工具
    有效使用Django的QuerySets
    VsCode快捷键
    js 里面的键盘事件对应的键码
    ubuntu下wps的安装
    mac 安装 python mysqlclient 遇到的问题及解决方法
    微服务初步理解
    有return的情况下try catch finally的执行顺序(最有说服力的总结)
  • 原文地址:https://www.cnblogs.com/JeasonIsCoding/p/13232587.html
Copyright © 2011-2022 走看看