当前位置:Gxlcms > 数据库问题 > JAVA基础-数据库基础操作

JAVA基础-数据库基础操作

时间:2021-07-01 10:21:17 帮助过:33人阅读

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语法

创建数据库

  1. <code class="language-sql">create database 数据库名;
  2. create database 数据库名 character set 字符集;
  3. 建议字符集格式设置 utf8或gbk
  4. </code>

查看数据库

  1. <code class="language-sql">查看数据库服务器中的所有的数据库:show databases;
  2. 查看某个数据库的定义的信息:show create database 数据库名;
  3. </code>

技术图片

删除数据库

  1. <code class="language-sql">drop database XXX
  2. </code>

修改数据库

  1. <code class="language-sql">修改数据库默认的字符集:
  2. alter database 数据库名 default character set 字符集
  3. </code>

创建表

  1. <code class="language-sql">create table 表名(
  2. -- 可以定义多个列
  3. 字段名 类型(长度) 约束,
  4. 字段名 类型(长度) 约束
  5. );
  6. 查看数据库中的所有表:show tables;
  7. 查看表结构:desc 表名;
  8. 查看创建表的 SQL 语句:show create table 表 名;
  9. </code>

技术图片

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

技术图片

删除表

  1. <code class="language-sql">drop table 表名;
  2. </code>

修改表

  1. <code class="language-sql">--修改表添加列
  2. alter table 表名 add 列名 类型(长度) 约束;
  3. -- 修改表修改列的类型长度及约束
  4. alter table 表名 modify 列名 类型(长度) 约束;
  5. -- 修改表修改列名
  6. alter table 表名 change 旧列名 新列名 类型(长度) 约束;
  7. -- 修改表删除列
  8. alter table 表名 drop 列名;
  9. -- 修改表名
  10. rename table 表名 to 新表名;
  11. </code>

技术图片

技术图片

技术图片

约束

主键约束

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

技术图片

  1. <code class="language-sql">//创建表的时候添加主键
  2. CREATE TABLE Persons
  3. (
  4. Id_P int NOT NULL,
  5. LastName varchar(255) NOT NULL,
  6. FirstName varchar(255),
  7. Address varchar(255),
  8. City varchar(255),
  9. PRIMARY KEY (Id_P)
  10. )
  11. //后期添加主键
  12. ALTER TABLE Persons ADD PRIMARY KEY (Id_P)
  13. //如果想添加多个列的主键
  14. ALTER TABLE Persons ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
  15. //删除
  16. ALTER TABLE Persons DROP PRIMARY KEY
  17. ALTER TABLE Persons DROP CONSTRAINT pk_PersonID
  18. //查看当前约束
  19. SHOW KEYS FROM students ;
  20. </code>

唯一约束

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

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

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

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

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

  1. <code class="language-sql">---添加唯一约束 ??
  2. Alter?Table?stuInfo Add?Constraint?UQ_stuID?unique(stuID) ??
  3. </code>

外键约束

技术图片

  1. <code class="language-sql">---添加外键约束 ??
  2. ALTER TABLE students
  3. ADD CONSTRAINT FOREIGN KEY (class_Id) REFERENCES class(class_Id);
  4. </code>

插入数据

  1. <code class="language-sql"># 插入一条数据
  2. INSERT INTO class (class_Id,NAME) VALUES ( 3, ‘三班‘)
  3. #插入全部数据的简写
  4. INSERT INTO class VALUES ( 3, ‘三班‘)
  5. # 插入多行数据
  6. INSERT INTO class VALUES ( 5, ‘五班‘) ,(6,‘六班‘)
  7. </code>

删除数据

  1. <code class="language-sql">//删除整个表
  2. DELETE FROM teache;
  3. //删除表中符合条件的某个数据
  4. DELETE FROM students WHERE class_Id=3;
  5. </code>

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

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

修改数据

  1. <code class="language-sql">UPDATE students SET NAME=‘王健森‘,age=24 WHERE NAME=‘王五‘
  2. </code>

JAVA基础-数据库基础操作

标签:modify   检索   load   medium   定义数据   创建表   进制   varchar   lang   

人气教程排行