数据库中表的基本操作、常用的函数和CRUD语句

一、创建表和修改表

(1)、创建表

(2)、修改表

二、数据库的CRUD语句

(1)、insert语句--添加数据

1.插入的数据应与字段的数据类型相同。mysql中会自动将'100'数字字符串转化为int类型

2.数据的长度应在列的规定范围内

3.在values中列出的数据位置必须与被加入的列的排列位置相对应

4.字符和日期型数据应该包含在单引号中

5.列可以插入空值(前提是该字段允许为空

6.insert into tab_name(列名...) values(),(),()形式添加多条记录

7.如果是给表中的所有字段添加数据,可以不写前面的字段名称

8.默认值的使用,当不给某个字段值时,如果有默认值就会添加,否则就会报错

(2).update--修改数据

基本语法: UPDATE table1_name

                                   SET col_name=expr1,col_name=expr2...

                                       where where_definition

-- --update 语法可以用新值更新表行中的各列
-- --set字句指示要修改哪些列和要给予哪些值
-- --where子句指定更新的行,如果没有字句,更新所有 

 (3)delete--删除语句

    基本语法:delete from table_name

                                where where_definition

如果没有where字句,那么就会删除表中的所有相关信息,但是只是删除信息,表依然还会保留着

如果想彻底删除表,应该用DROP TABLE table_name

 delete语句不能删除某一列的值,可以使用update设为null,或者' '

(4).select--查找语句

基本语法:SELECT [DISTINCT] * ||   [column1,column2,column3...]

                   FROM table_name;

a.select指定查询哪些列的数据

b.column指定列

c.*号代表查询所有列

d.From指定查询哪张表

e.DISTINCT可选,指显示结果时,是否去掉重复数据

 首先创建一个student表,并添加上数据

 1.selecct语句中可以使用表达式对查询的列进行运算

SELECT *|| [column1,column2,ccolumn3...]

                FROM table_name

2.在select语句中可使用as语句,对列进行重命名

SELECT columnname as from table_name

3、在where字句中经常使用的运算符

 

4、 select语句中使用order by字句排序查询结果

基本用法:select column1,column2,mcolumn3

                                from table

                                order by column asc||desc;

1.order by 指定排序的列,排序的列既可以是表中的列名,也可以是select语句后指定的列名

2.asc 升序(默认为升序),desc 降序

3.order by字句应该位于select语句的结尾

 三、常用函数的使用

(1)、统计函数

1.count--合计/统计函数,count返回行的总数

基本语法Select count(*) || count(列名) from table_name

                where where_definition

count(*)和count(列)的区别:

count(*)返回满足条件的记录的行数

count(列)返回满足条件的行的个数,但是会排出null

 2.sum--合计函数

sum函数返回满足where条件的行的和,一般用在数值列

基本语法:select sum(列名) from table_name

                                where where_definition

3.avg--合计函数

avg函数返回满足where条件的一列的平均值

select avg(列名) from table_name

                where where_definition

 

4.max,min--合计函数

max,min 函数返回满足where条件的一列的最大,最小值

Select max(列名) from table_name

        where where_definition

5.group by--分组

基本语法:select column1,column2,ccolumn3...from table 

                        group by column     having ...          

group by用于对查询的结果分组统计

having字句用于限制分组显示结果

========设置表格信息========


 ==========group by函数的实现演示==========

(2)、字符串相关函数

下列函数实现均在emp表的基础之上

 1.charset(str)返回字串的字符集

ename的所有成员都是utf8编码

 2.concat(string2,string3...)连接子串,将多个列拼接成一列

3.instr(string,substring)返回substring在string中出现的位置,设第一个字符的位置为1,没有返回0

dual亚元表,系统表 可以作为测试表使用

4.ucase(string2)转换成大写

5.lcase(string2)转换成小写

6.select left(string2,length) from table_name从string2中的左边起取length个字符

    select right(string2,length) from table_name从string2中的右边起取length个字符

7.select length(string) string长度[按照字节]

8.replace(str,search_str,replace_str),替换指定字符

9.strcmp(string1,string2)逐字符比较两字串大小

10.substring(str,position,length)

11.ltrim(string2) rtrm(string2) trim(string),去掉前端空格或后端空格

12.练习:以首字母 小写的方式显示所有员工emp表的姓名

方法:先取出ename的第一个字符,转成小写的,把该字符和后面的字符串进行拼接

substring(ename,2)代表从第二个字符开始,一直到最后一个字符

 (3)、数学函数

(4)、时间函数

==========函数使用案例==========

 

(5)、加密和系统函数

1.USER()查询用户

2.DATABASE()数据库名称

3.MD5(str)为字符串算出一个MD5 32的字符串,(用户密码)加密

4.PASSWORD(str)从原文密码str计算并返回密码字符串,通常用于对mysql数据库的用户加密

(6)、流程控制函数

1.if(expr1,expr2,expr3) 如果expr1为true,则返回expr2,否则就返回expr3,类似于C语言的三元运算符

2.ifnull(expr1,expr2)如果expr1不为null,则返回expr1,为空就返回expr2

3.select case when expr1 then expr2 when expr3 then expr4 else expr5 end;类似于多重分支

如果expr1为true,就返回expr2,如果expr2为true,就返回expr4,否则就返回expr5。

例题演示

1.查询emp表,如果comm为null,就显示0.0

判断是否为null,要使用is null,判断不为空,使用is not null

2.如果emp表的job是clerk,则显示职员,如果是manager则显示经理

如果是salesman则显示销售人员,其他正常显示 

 

===========以上部分的select都是针对于单表查询的,接下来要介绍多表查询==========

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值