• 数据库基础和DDL


    数据库DataBase(简称DB)

    存储数据的仓库就称为数据库 在我们的项目中我们使用users目录保存若干的obj文件,每个文件保存一个用户信息, 这个users就可以称为是一个数据库

     

    数据库管理系统Database management system(简称DBMS)

    它们都是独立可运行的软件,我们用java写的程序可以连接这些软件让其负责对数据进行维护 常见的DBMS:

    • oracle
    • mysql
    • DB2
    • SQLServer

    如何操作DBMS?

    SQL语言:Structured Query Language

    SQL有执行标准:SQL92 SQL语言是操作DBMS的语言,所有的DBMS都支持标准的SQL语言以及自身提供的可扩展SQL

    连接数据库的方式:

    1:命令行(控制台)的客户端 show databases

    2:图形化界面的客户端

    3:IDEA终极版提供了连接数据库的功能

    4:在JAVA中用JDBC连接数据库

    SQL语句的分类:

    • DDL:数据定义语言,用来操作数据库对象(数据库对象:表,索引,序列等都属于数据库对象)
      包含的语法:CREATE,DROP,ALTER
    • DML:数据操作语言,用来操作表中的数据(包含的操作:对数据的增删改)
      包含的语法:INSERT,UPDATE,DELETE
    • DQL:数据查询语言,用来查询表中的数据
      包含的语法:SELECT
    • TCL:事务控制语言
      包含的语法:COMMIT,ROLLBACK
    • DCL:数据控制语言,通常用来让DBA管理数据库使用

    查看DBMS里有多少个数据库

    SHOW DATABASES;

    新建一个数据库:

    语法:

    CREATE DATABASE 数据库名 

    例如: 

    CREATE DATABASE mydb;

    创建一个数据库时可以指定该数据库使用的字符集

    CREATE DATABASE 数据库名 CHARSET=UTF8/GBK 

    例如: 

    CREATE DATABASE mydb2 CHARSET=UTF8;

    查看数据库信息

    SHOW CREATE DATABASE 数据库名 

    例如: 

    SHOW CREATE DATABASE mydb;

    删除数据库

    DROP DATABASE 数据库名 

    例如: 

    DROP DATABASE db1 DROP DATABASE db2;

    想要保存数据,那么数据是保存在表中的,而表是归属于某一个数据库的.因此我们在创建 表之前必须要先使用某一个已创建的数据库.

    使用某个指定的数据库:

    USE 数据库名 

    例如: 使用mydb这个数据库: 

    USE mydb;

    创建表

    CREATE TABLE 表名( 字段名1 数据类型, 字段名2 数据类型, ... ) 

    例如:创建一张表userinfo用来保存用户信息. 每个用户保存内容有:用户名,密码,昵称,年龄.其中年龄为整数,其余为字符串

    1. CREATE TABLE userinfo( 
    2. id INT
    3. username VARCHAR(30), 
    4. password VARCHAR(30), 
    5. nickname VARCHAR(30), 
    6. age INT 
    7. );

    查看当前数据库中已创建的表 

    SHOW TABLES;

    查看某一张表的详细信息

    SHOW CREATE TABLE 表名

    SHOW CREATE TABLE userinfo;

    查看表结构

    DESC 表名

    例如:查看userinfo表的结构 

    DESC userinfo;

    删除表

    DROP TABLE 表名

    例如:删除user表

    DROP TABLE user;

    修改表

    • 修改表名
    • 修改表结构

    修改表名:

    RENAME TABLE 原表名 TO 新表名

    例如: 将userinfo表改名为user 

    RENAME TABLE userinfo TO user;

    修改表结构:

    ALTER TABLE;

    添加列:

    ALTER TABLE 表名 ADD 列名 类型[长度] 

    例如:向user表中追加性别 

    ALTER TABLE user ADD gender VARCHAR(10);

     

    1. CREATE TABLE hero( 
    2. username VARCHAR(30), 
    3. age INT(3
    4. );

    在hero第一列上追加新列

    ALTER TABLE 表名 ADD 字段名(列名) 类型 FIRST 

    ALTER TABLE hero ADD id INT FIRST;

    在表中插入一个新字段

    ALTER TABLE 表名 ADD 字段名 类型 AFTER 字段 

    例如: 在hero表的姓名和年龄之间加入gender字段 

    ALTER TABLE hero ADD gender VARCHAR(10) AFTER username;

    删除字段

    ALTER TABLE 表名 DROP 字段名 

    删除hero表中的字段gender 

    ALTER TABLE hero DROP gender;

    修改表中的字段

    注意:可以修改表中字段的类型,长度信息.但是尽量不要在表中包含数据后再进行修改, 否则可能因为表中现有数据违背该字段修改后的要求导致修改失败. 

    ALTER TABLE 表名 CHANGE 原字段名 新字段名 新类型

    将hero表中age字段类型从INT更换为VARCHAR

    ALTER TABLE hero CHANGE age age VARCHAR(10);

    将字段age类型的长度改为100 

    ALTER TABLE hero CHANGE age age VARCHAR(100);

    将字段age改为gender,长度改为10,类型不变还是VARCHAR

    ALTER TABLE hero CHANGE age gender VARCHAR(10);

    总结

    • DDL语言,数据定义语言,操作数据库对象的(表,索引,视图)
    • CREATE,ALTER,DROP
    • 创建表:CREATE TABLE
    • 修改表:ALTER TABLE
    • 删除表:DROP TABLE
  • 相关阅读:
    Java核心知识体系3:异常机制详解
    WorkManager的学习二
    Visual Components Robotics OLP解决方案 北京衡祖
    阿里十五位顶级架构师联合编写的《微服务架构解析手册》大厂面试必问
    C# OpenCvSharp 实现迷宫解密
    docker命令
    中国功率半导体产业发展状况及“十四五”投资规划建议报告2022-2028年新版
    Eclipse安装使用UML插件
    【同名cookie引发的血案】多个站点平台采用同名cookie引起用户信息被覆盖
    SpringBoot三层架构
  • 原文地址:https://blog.csdn.net/m0_51041464/article/details/127640175