一、创建表和修改表
(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都是针对于单表查询的,接下来要介绍多表查询==========
标签:name,--,CRUD,中表,table,基本操作,where,select,函数 From: https://blog.csdn.net/2302_80274319/article/details/139248537