JavaWeb(二)

一、SQL简介

结构化查询语言,一门操作关系型数据库的编程语言。英文:Structured Query Language,简称 SQL。

二、Mysql和Oracle关于区分大小写

MySQL在Windows下都不区分大小写。

oracle中分为两种情况,单纯的sql语句不区分大小写,但是如果查询某个字符的话就需要区分大小写

1、如以下情况,是不区分大小写的,查询结果都是一致的

select * from emp;

SELECT * FROM EMP;

2、如在emp表中查询ename为“SMITH”(不含引号)的信息,就必须注意大小写:

select * from emp where ename=’SMITH’; – 这样是有结果的

select * from emp where ename=’smith’; – 这样则查询不出结果

如果不知道表中的字段大小写的情况下,可以加上lower关键字,表示按照小写进行查询。

上面的sql可以写成:

select * from emp where lower(ename)=’smith’;

lower(ename)表示表中字段按照小写查询,所以等号右边要全部小写。

参考网址:

mysql与oracle区分大小写的规则_oracle区分大小写查询语句-CSDN博客

三、DDL操作数据库

3.1、查询有哪些数据库

show databases;

3.2、创建数据库

CREATE DATABASE 数据库名称

create database test_one;

3.3、创建数据库(判断,如果不存在则创建)

create database if not exists test_one;

3.4、删除数据库

DROP DATABASE 数据库名称;

drop database test_one;

3.5、删除数据库(判断,如果存在则删除)

drop database if exists test_one;

3.6、使用数据库

USE 数据库名称

use test_one;

总结:

四、DDL操作表

操作表也就是对表进行增(Create)删(Retrieve)改(Update)查(Delete)。

4.1、查询当前数据库下所有表名称

SHOW TABLES;

4.2、查询表结构

DESC 表名称;

DESC xxl_job_group;

4.3、创建表

CREATE TABLE 表名 (

字段名1  数据类型1,

字段名2  数据类型2,

字段名n  数据类型n

);

使用创建表的sql创建一张表:

create table tb_user (

id int,

    username varchar(20),

    password varchar(32)

);

4.4.、删除表

DROP TABLE 表名;

drop table test_one;

4.5.、删除表时判断表是否存在

DROP TABLE IF EXISTS 表名;

drop table if exists test_one;

4.6、修改表名

ALTER TABLE 表名 RENAME TO 新的表名;

将表名student修改为stu

alter table student rename to stu;

4.7、添加一列

ALTER TABLE 表名 ADD 列名 数据类型;

给stu表添加一列address,该字段类型是varchar(50)

alter table stu add address varchar(50);

4.8、修改数据类型

ALTER TABLE 表名 MODIFY 列名 新数据类型;

将stu表中的address字段的类型改为 char(50)

alter table stu modify address char(50);

4.9、修改列名和数据类型

ATER TABLE 表名 CHANGE 列名 新列名 新数据类型;

将stu表中的address字段名改为 addr,类型改为varchar(50)

alter table stu change address addr varchar(50);

4.10、删除列

ALTER TABLE 表名 DROP 列名;

将stu表中的addr字段 删除

alter table stu drop addr;

五、SQL中的数据类型

MySQL支持多种数据类型,可以分为三类:数值、日期、字符串。

下面重点介绍常见的几种

5.1、数值

tinyint : 小整数型,占一个字节

int:大整数类型,占四个字节

例如:age int

不论是int(10)还是int(11)等等,int型数据都是占4个字节存储空间。int(11)的意思是int型数据的显示宽度为11位

double:浮点类型

使用格式:字段名 double(总长度,小数点后保留的位数)

例如:score double(5,2)

5.2、日期

date:日期值。只包含年月日

例如:birthday date

datetime:混合日期和时间值。包含年月日时分秒

5.3、字符串

char:定长字符串

优点:存储性能高

缺点:浪费空间

例如: char(10) 存储 "Hello" 时,会用空格将后面的五个字符补齐到10个字符,即 "Hello "。

Varchar:变长字符串

优点:节约空间

缺点:存储性能底

例如: name varchar(10) 如果存储的数据字符个数不足10个,那就数据字符个数是几就占几个的空间

当定义 name varchar(4),而name取值为 '我好害怕啊',超过4个字符长度时,就会报错。这里的数字代表的是字符长度而不是字节长度。

其实不必纠结于varchar(10) 到底是什么意思,如果数据存储空间不足够导致插入数据失败,尽管加大存储空间就好了

六、DML

DML主要是对数据进行增(insert)删(delete)改(update)操作

6.1、给指定列添加数据

INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…);

给STU表中的id,name这两个字段添加数据。

INSERT INTO STU (id, NAME) VALUES (1, '张三');

6.2、给全部列添加数据

INSERT INTO 表名 VALUES(值1,值2,…);

给所有列添加数据,列名的列表可以省略的

6.3、批量添加数据

给STU这张表中的所有列添加3条数据,最后一条数据用分号结束,前面的数据用逗号分隔

6.4、修改表数据

UPDATE 表名 SET 列名1=值1,列名2=值2,… [WHERE 条件]

将张三的生日改为 1999-12-12 分数改为99.99

update stu set birthday = '1999-12-12', score = 99.99 where name = '张三';

注意:如果update语句没有加where条件,则会将表中所有数据全部修改!

update stu set sex = '女';

Stu表中的sex字段全部会改成女。

6.5、 删除数据

DELETE FROM 表名 [WHERE 条件] ;

删除stu表中张三的记录

delete from stu where name = '张三';

注意:如果delete语句没有加where条件,则会将表中所有数据全部删除

删除stu表中所有的数据

delete from stu;

DQL(Data Query Language) 数据查询语言,用来查询数据库中表的记录(数据)见JavaWeb(三)

七、Idea中查看数据库创建sql以及建表语句

        7.1、查看数据库创建sql

        7.2、查看建表语句 

        

  • 18
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值