MySql数据库与JDBC编程二
DML语法语句:主要操作数据表中的数据,完成插入新数据,修改已有数据,删除不要的数据的任务
1,insert into 语句
用于向指定表插入数据,一次只能插入一条记录:insert into table_name【(列名)】 values (value,[,value]);
如果省略了表名后的括号则,默认将所有列都插入值,还可以指定为null
外键记录保证被参照的记录必须存在,但并不保证必须有被参照记录,即外键列可以为null,
在特别情况下还可以使用带子查询的的插入语句,可以实现一次插入多条记录,
insert into table_name[(column,)]
子查询/values(),();
2,update语句---用于修改数据表的记录,每次可以修该多条记录,通过使用where子句限定
update table_name
set column = value1[,column2= value2]
[where]
3,delete from --删除指定数据表的记录,不需要指定列名,整行的删除
delete from table_name
[where]
单表查询
select语句就是查询数据,是sql语句中功能最丰富的语句--可以进行单表查询,多表连接查询,还可以进行子查询
select column1,column2 .....(使用*可以代表所有列)
from 数据源(可以是表,视图等)
[where condition]----筛选条件
select语句中可以使用算术运算符形成表达式:数值类型的数据列,变量常量可以是使用加减乘除
日期类型的数据列,变量常量可以 加减,两个日期间可以减,日期和数值间可以加减
两列之间也可以进行运算
MySql中没有提供字符串连接运算符,可以使用concat函数来进行字符串连接运算(把指定的列都加上了指定的字符串)
mysql> select concat(username,'hello') -> from user; +--------------------------+ | concat(username,'hello') | +--------------------------+ | 1hello | | 12hello | | z221hello | | zhanghello | | ztxhello | +--------------------------+ 5 rows in set (1.67 sec) mysql>
用as可以为列起个别名:select 列名 as 别名。。。。。
如果要为多列起别名,则列与列之间以逗号隔开,列与别名之间用空格隔开
select后可以跟常量,where后也可以跟常量,结果是由于where后常量总是true,select后常量会出现和表中次数一样
select会把符合条件的记录全部选出来了,即使两行记录完全一样----distinct关键字可以从查询结果清除其后字段的重复值
where包含的是一个条件表达式 between value1 and val2 (val1 小于 val2)
st in (2,4):st为2或4的记录
· 2 in (st, sr):st,sr为2的记录
like运算主要进行模糊查询,可以使用两个通配符_(代表一个任意字符) 和 %(代表任意多个字符) \ 作为转义字符(MySQL提供)标准SQL并没有提供反斜线的转义字符,而是使用escape
like '\_%' escape '\';
is null 用于判断某些值是否为空
and or 两个逻辑运算符来组合多个条件 not来对逻辑表达式求否
order by 可以对结果进行排序,默认升序排列,如果强制按降序排序则要在列后使用desc关键字
如果需要按多列排序,则每列需单独设定排序方式,第一列为首要排序,只有第一列存在多个相同的值时才看第二列排序
数据库函数
分为单行函数可以接收多个参数但只返回一个值,多行函数多行输入整体计算,只有一个输出值
根据数据库相关文档来学习,,,
公众号:笑谭枫昇
博客地址:
https://www.ztxzy.top本文来自博客园,作者:笑谭枫昇,转载请注明原文链接:https://www.cnblogs.com/xiaochenztx/p/8584058.html