1.SQL概述

 

1.什么是SQL(了解):

 

  • 结构化查询语言,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的
  • SQL被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准, 后来被国际化标准组织(ISO)采纳为关系型数据库语言的国际标准

2  SQL优点:

  1. 标准统一:
  • 不是特定数据库供应商专有的语言, 几乎所有DBMS都支持SQL
  1. 简单易学
  • SQL语言由描述性很强的英语单词组成, 这些单词数量不多, 且都很常用
  1. 声明式:
  • SQL是一种声明式的语言, 相对应的, Java是一种命令式的语言. 在SQL中, 你只需要指出 "想做什么", 而无需指明 "怎么做", 具体的操作过程由DBMS自动完成

2.分类

 

1.DDL (Data Definition Language)

  • 数据定义语言, 用来定义数据库对象, 包括数据库, 表, 列, 索引, 视图等

 

2.DML (Data Manipulation Language)

  • 数据操作语言, 用来操作数据库表中的记录

 

3.DQL (Data Query Language)

  • 数据查询语言, 用来查询数据库表中的记录

 

4.DCL (Data Control Language)

  • 数据控制语言, 用来定义访问权限和安全级别

 

3.SQL中的数据类型

 

1.数值类型

  • int:整形
  • double:浮点型, 例如double(5, 2)

 

2.文本和二进制类型

  • char:固定长度字符串, char(10)  
  • varchar:可变长度字符串, varchar(255)
  • text:字符串类型(非标准)

 

3.时间日期类型

  • date:日期类型, 格式为 yyyy-MM-dd
  • datetime:yyyy-MM-dd hh:mm:ss

 

4.数据库、表操作语言(DDL)

1.关键字:

  1. create:用于创建操作
  2. alter: 用于修改操作
  3. drop: 用于删除操作

2.操作数据表:

 

2.1数据库的约束

1.空值和非空值

 

  • NULL   NOT NULL(列值不可以为空,必须传值)

 

2.自动增长 :自动增长,需要配合主键使用,默认起始值为1 增量为1,只针对整数类型

 

  • AUTO_INCREMENT

 

3.主键约束:每张表只能存在一个主键,保证数据唯一性,自动位NOT NULL

 

  • 关键字PRIMARY  KEY

 

4.唯一约束; 保证数据唯一性,可以为空值,一张表可以存在多个

 

  • 关键字UNIQUE  KEY

 

5.默认约束:如果没有输入明确的字段值,则会自动设置为默认值

 

  • 关键字default

 

6.外键约束: 再多表中使用

  • 关键字foreign  key

2.2 例:创建一张student表

语法:( 列名  数据类型 , 列名  数据类型 , ......)

代码:CREATE  TABLE  students(id  int , name  varchar( 50 ) ,age  int ) ;

 

Java与SQL对应数据类型转换表 java与sql的关系_SQL

2.3.验证:

2.3.1.查看数据库中数据表
  • show columns  from 数据表名 ;

Java与SQL对应数据类型转换表 java与sql的关系_java_02

 

2.3.2.查看数据表字段信息
  • desc 数据表名;

Java与SQL对应数据类型转换表 java与sql的关系_java_03

2.3.3.查看数据表创建细节
  • show create table 数据表名;

 

3.修改操作

1、修改数据表表名称

  • 语法:RENAME  TABLE  oldname  TO  newname ;
  • 代码:RENAME  TABLE  students  TO  stud;

2、修改数据表字符集-编码格式

  • 语法:ALTER  TABLE  表名称  CHARACTER  SET  字符集名称;
  • 代码:ALTER  TABLE  students  CHARACTER  SET  gbk;

3、修改列的数据类型

  • 语法:ALTER  TABLE  表名称   MODIFY  列名称  数据类型 ;
  • 代码:ALTER  TABLE  students  MODIFY  gender   VARCHAR(10);

4、修改列名

  • 语法:ALTER  TABLE  表明称  CHANGE  列名称(old)  列名称(new)  数据类型;
  • 代码:ALTER  TABLE  students  CHANGE  name   sex  VARCHAR(10);

4.删除操作

1、删除表中的列

  • 语法:ALTER  TABLE  表名称  DROP   列名称;
  • 代码:ALTER  TABLE  students  DROP  sex;

2、删除数据表

  • 语法:DROP  TABLE  表名称 ;
  • 代码:DROP  TABLE  students ;

3、删除表中所有的数据(后面演示)

  • 语法:TRUNCATE  TABLE  表名称;
  • 代码:TRUNCATE  TABLE  students;

5.增加操作

1、在表中增加一列 列名称:age

  • 语法:ALTER  TABLE  表名称  ADD  列名 数据类型;