目录

运行环境

一.数据库

        1.创建数据库

        2.查询数据库

        3.修改数据库名称

        4.删除数据库  

二.表

        1.创建表

        2.查询表

        3.修改表名

        4.删除表

三.数据

        1.单表

                (1)向某个表中插入数据

                (2)修改某条数据

                (3)查询某条数据

                (4)删除某条数据

        2.多表

                (1)交叉连接(笛卡尔积)——cross join

                (2)内连接——inner join

                (3)外连接


运行环境

        mySql:mysql-5.5.15-win32

        MySql-Front:版本:5.3(build:4.269)

       

        注意,在该环境下运行,不区分大小写。

一.数据库

        1.创建数据库

create database databaseName;    //以默认配置创建数据库,数据库名称为databaseName

例子:

create database sqlTest;

         执行结果:

         若数据库不存在,无明显提示;若数据库sqlTest若数据库sqlTest已存在,执行错误,弹出对话框:database exists。

SQL表 不存在 java是什么异常 sql语句不存在怎么写_数据库

  

        2.查询数据库

show databases;    //显示所有所有数据库
show databases like 'databaseName';    //模糊查询名称与“databaseName”相符合的数据库

例1:

show databases;

        执行结果:显示所有数据库名称

SQL表 不存在 java是什么异常 sql语句不存在怎么写_数据库_02

例2:

show database like 'sqlTest';

         执行结果:若该数据库存在,在database(sqlTest)列显示符合要求的数据库名称;否则该列为空。

SQL表 不存在 java是什么异常 sql语句不存在怎么写_sql_03

        3.修改数据库名称

        暂未找到可行sql语句。

        4.删除数据库  

drop database databaseName;    //删除名称为databaseName的数据库

例子:

drop database sqlTest;

        执行结果:若数据库sqlTest存在,则左侧sqlTest数据库消失;若不存在,弹出数据库不存在提示框。

SQL表 不存在 java是什么异常 sql语句不存在怎么写_sql_04

二.表

        1.创建表

//primary key 表示主键,唯一标识表中某一行数据
//不同字段,字段类型可以相同也可以不同


create table tableName(    //创建一个名为tableName的表
Field1 Type primary key,    // 字段名1    字段类型  标记为主键
Field2 Type,                // 字段名2    字段类型
.
.
.
Fieldn Type                 // 字段名n    字段类型

);

例子:

create table userInformation(
id int(11) primary key AUTO_INCREMENT,
nickname varchar(50),
gender varchar(2)
)default charset=utf8;


//AUTO_INCREMENT表示该字段从1开始自增
//default charset设置该表的默认字符集为utf-8,否则可能无法在表中添加含有汉字的数据

        执行结果:若表已存在,弹出提示表已存在;若表不存在,创建表,在对项浏览器中看到表如下所示。

SQL表 不存在 java是什么异常 sql语句不存在怎么写_提示框_05

        2.查询表

show tables;    //显示当前数据库中所有表
show full columns from tableName;    //显示表tableName中所有字段及相关信息

例子:

show full columns from userInformation;

        执行结果:若该表存在,显示执行结果;若该表不存在,弹出提示框提示该表不存在。

SQL表 不存在 java是什么异常 sql语句不存在怎么写_提示框_06

        3.修改表名

alter table tableOldName rename to tableNewName;    //将表名为tableOldName的表的名称改为tableNewName

例子:

alter table userInformation rename to userInfo;

        执行结果:若表不存在,弹出提示框提示表不存在;若表存在,修改表名

SQL表 不存在 java是什么异常 sql语句不存在怎么写_字段_07

        4.删除表

drop table tableName;    //删除名称为tableName的表

例子:

drop table userInformation;

        执行结果:若表存在,删除该表;若表不存在,弹出提示框,未知的表

SQL表 不存在 java是什么异常 sql语句不存在怎么写_数据库_08

三.数据

        1.单表

                (1)向某个表中插入数据

//向表名为tableName的表中插入数据,字段1的值为value1,字段2的值为value2......字段n的值为valuen
insert into tableName 
    (field1, field2...fieldn) 
values 
    (value1,value2...valuen);

//字段n的值valuen要与创建表时设置的字段n的字段类型相同


//同时向表中添加多条记录
insert into tableName 
    (field1, field2...fieldn) 
values 
    (value11,value12...value1n),
    (value21,value22...value2n),
    .
    .
    .
    (valuen1,valuen2...valuenn);

例子:

insert into userInformation
(nickname,gender) values ('十年一觉尘与土','男');


//userInformation有三个字段,id、nickname和gender
//id 字段类型为 int, 是主键,在创建时在字段本应非空,但因为设置了AUTO_INCREMENT,可以不赋值,从1开始自增
//nickname 和 gender 字段类型为 varchar,在创建表时设置默认字符集为UTF-8,因此可以赋汉字

        执行结果:若表不存在,弹出表不存在提示框;若表存在,但主键未赋值,弹出主键无默认值提示框;若表存在,主键值已存在,弹出一样的主键提示框;若表存在,主键已赋值且不存在,正常执行命令,向表中插入数据,插入之后在数据浏览器中查看如下图。

SQL表 不存在 java是什么异常 sql语句不存在怎么写_sql_09

                (2)修改某条数据

//将表名为tableName的表中符合条件condition的数据的字段1修改为值1,字段2修改为值2......字段n修改    //为值n
update tableName set field1=value1, field2=value2......fieldn=valuen where condition  


//在表名为tableName的表上添加字段newFIledName,类型为Type
alter table tableName add column newFiledName Type;


//在表名为tableName的表上删除名为FiledName的字段
alter table tableName drop column filedName;

例子:

//将userInformation表中nickname为‘十年一觉尘与土’的性别改为‘女’
update userInformation set gender='女' where nickname='十年一觉尘与土';

        执行结果:若userInformation表不存在,弹出表不存在提示框;在表存在的情况下,无论是否有数据符合条件,都会正常执行,修改后的表的数据在对象浏览器中查询如下。

SQL表 不存在 java是什么异常 sql语句不存在怎么写_字段_10

                (3)查询某条数据

//显示表中所有数据
select * from tableName;

//显示表名为tableName的表中符合condition的字段1值,字段2值......字段n值
select field1, field2,,......,fieldn from tableName where condition;

例子:

select nickname,gender from userInformation where id=1;

        执行结果:若表不存在,弹出表不存在提示框;若表存在,显示符合条件的数据的指定字段值,若无数据符合条件,第一行显示字段名,第二行字段值皆为<NULL>。

SQL表 不存在 java是什么异常 sql语句不存在怎么写_提示框_11

                (4)删除某条数据

//将表名为tableName的表中符合条件condition的删除
delete from tableName where condition;

例子:

delete from userInformation where id=1;    //删除userInformation中id为1的
select * from userInformation;             //显示表userInformation中所有数组的所有字段

        执行结果:若表不存在,弹出表不存在提示框;若表存在,执行操作。

SQL表 不存在 java是什么异常 sql语句不存在怎么写_字段_12

        2.多表

例子中所使用两张表,表userInformation:

SQL表 不存在 java是什么异常 sql语句不存在怎么写_sql_13

 表points:

SQL表 不存在 java是什么异常 sql语句不存在怎么写_SQL表 不存在 java是什么异常_14

                (1)交叉连接(笛卡尔积)——cross join

//笛卡尔积:设集合A={A,B,C},集合B={0,1},
//          A×B={(A,0),(A,1),(B,0),(B,1),(C,0),(C,1)}
//          B×A={(0,A),(0,B),(0,C),(1,A),(1,B),(1,C)}

table1,table2,table3......tablen;    //select * from table1,table2;
table1 cross join table2 cross join table3.....cross join tablen;    //select * from table1 cross join table2;

例子: 

select * from points cross join userInformation;

        执行结果:若某个表不存在,弹出该表不存在的提示框;若两个表都存在,显示查询结果。

SQL表 不存在 java是什么异常 sql语句不存在怎么写_数据库_15

                (2)内连接——inner join

//内连接,根据on后面的相同条件在交叉连接中筛选
//等价于 table1,table2......tablen where condition;

table1 inner join table2 
    on    table1.filedx1=table2.fieldy1;

//表起名别名
table1 a inner join table2 b
    on    a.filedx1=b.fieldy1 
          and a.fieldx2=b.fieldy2
          ......
          and a.fieldxn=b.fieldyn;

例子:

select * from userInformation a join points  b on a.id=b.id;

        运行结果:若某个表不存在,弹出某个表不存在提示框;若表都存在,正常运行。

SQL表 不存在 java是什么异常 sql语句不存在怎么写_SQL表 不存在 java是什么异常_16

                (3)外连接

//外连接,以某个表为基准在另一个表中查询与条件相符的数据,查到后将其拼接显示,若无相符数据,与NUll拼接
//以哪个表为基准,left join 以左边的表为基准,right join 以右边的表为基准

table1 a left join table2 b on condition;


table1 a right join table2 b on condition;

左外连接例子:

select * from userInformation a left join points  b on a.id=b.id;

        执行结果:若表不存在,弹出提示框显示表不存在;若表都存在,显示结果。

SQL表 不存在 java是什么异常 sql语句不存在怎么写_sql_17

 右外连接例子:

select * from userInformation a right join points b on a.id=b.id;

执行结果:若表不存在,弹出提示框显示表不存在;若表都存在,显示结果。

SQL表 不存在 java是什么异常 sql语句不存在怎么写_sql_18