MySQL之SQL语句的基本使用

   日期:2020-11-11     浏览:158    评论:0    
核心提示:mysql默认带的四个库库名作用information_schema相关配置信息库mysql存储相关表:user 用户表(管理员)performance_schemamysql性能相关的test测试的库DDL(数据定义语言)对象: 数据库和表对数据库操作创建数据库--创建数据库create database 数据库名;--示例create database mydatabase;--一半要在前面加上判断,如果数据库已经存在,删除数据库d

mysql默认带的四个库

库名 作用
information_schema 相关配置信息库
mysql 存储相关表:user 用户表(管理员)
performance_schema mysql性能相关的
test 测试的库

DDL(数据定义语言)

对象: 数据库和表
对数据库操作
创建数据库

--创建数据库
create database 数据库名;
--示例
create database mydatabase;
--一半要在前面加上判断,如果数据库已经存在,删除数据库
drop database if exists 数据库名;
--优化,如果该数据库不存在,创建
create database if not exists 数据库名;
--示例
create database if not exists mydatabase;

修改数据库的编码格式

alter database 数据库名 default character set 编码格式;
--修改数据库的这个编码格式gbk
alter database mydatabase default character set gbk; 
--查看数据库编码
show create database 数据库名;

删除数据库

drop database 数据库名;
--如果存在,删除该库
drop database if exists 数据库名;
-- 修改库的字符集:创建数据库的时候直接修改了库的编码格式
create database if not exists 数据库名 default character set 编码格式 ;
--示例
create database if not exists mydb_04 default character set gbk ;

进入数据库

--创建表前要先进入到指定的数据库
use 数据库名;

对表操作
查询该数据库中的表

show tables;

创建表

--除了最后一个字段类型后面,每一个字段类型后面加","隔开
create table 表名(
		字段名称1	字段类型1,
		字段名称2	字段类型2,
		...
		字段名称n	字段类型n
);
--例如 ,如果student表存在,删除
drop table if exists student;
create table(
	id	int,
	name varchar(10),
	score double(3,1)--表示三位数,保留一位小数
);

查询表结构

desc 表名;

修改表

--添加一列
alter table 表名 add 字段名 字段类型;
--示例
alter table student add sex varchar(2);
--修改某列的数据类型
alter table 表名 modify 字段名 新字段类型;
--示例
alter table student modify sex varchar(3);
--修改某列的名称
alter table 表名 change 旧字段名 新字段名 字段类型(与表中数据类型一致);
--示例
alter table student change sex gender varchar(3);

删除表

drop table 表名;
--如果该表存在,删除该表
drop table if exists 表名;

DML(数据操纵语言)

对象:纪录(行)

插入记录

--插入全部字段,给表中的每一个字段都赋值
insert into 表名 values(1,2...值n);
--插入部分字段,没有赋值的字段都是null值
--字段和值要一一对应
insert into 表名(字段名1,字段名2...) values (1,2...);
--一次插入多条记录,中间用逗号隔开
insert into 表名 values (1,2...值n),
						(1,2...值n),
						...
						(1,2...值n);

删除记录

--删除全表数据
delete from 表名;
--删除表以及表中的全部数据,然后创建一张一模一样的表
truncate table 表名;
--删除某一行记录
delete from 表名 条件(where);
--例如 删除学生表中,成绩为80的记录
delete from student where score = 80;

删除全表数据是否对自增长的主键影响?

  • DELETe FROM 表名 不会影响自增长的主键(删除全表的数据)(不会清除自增长主键!)
  • TRUNCATE TABLE 表名 :直接删除了表(并且同时创建一张一模一样的表):自增长主键会清除掉!

修改数据

-- 注意,修改必须带上条件,如果不带上条件,就成了批量修改
--带条件修改单个字段
update 表名 set 字段名 =where 条件;
--修改多条字段 中间用逗号隔开
update 表名 set 字段名1 =1,字段名2 =2 where 条件;

DQL(数据查询语言)

基本的查询语句
查询全表数据

select * from 表名;
select 字段名1...字段名n(所有的字段名) from 表名;
--示例
--假设student表中 有字段 id,name,sex,age
select * from student;
select id,name,sex,age from student;

查询指定字段

select 字段名 from 表名;
--假设student表中 有字段 id,name,sex,age
select name,sex from student;

给字段起别名

select 字段名 as(可省略) "别名" from student;
select name as "姓名" from student;
select 	id "学号".
		name "姓名",
		age "年龄",
		sex "性别"
		from student;

条件查询
条件查询就是在表名后面加上where条件语句

符号 意思
> 大于
< 小于
>= 大于等于
<=> 小于等于
<> 不等于

一个条件

select 字段名... from 表名 where 条件;
--例如 查找年龄大于18岁的学生信息
select * from student
	where age>18;

多个多件

表达式 意思
and 并且
&& 并且
or 或者
|| 或者
in 后面跟(值1,值2…值n),表示在这几个值中
is 后面跟null或者not null(mysql不支持" =null")
between 值1 and 值2 表示在值1和值2之间,等价于 >= 值1 and <= 值2
--查找学生表 年龄大于18 的女同学
select * from student 
	where age>18 and sex="女";
--查找学生表 年龄大于23 或者 年龄小于18的学生
select * from student
	where age<18 or age>23
--查找年龄为18或者23,或者20的同学
select * from student
	where age=(18,20,23);
--查找年龄在18-23之间的同学
select * from student
	where age between 18 and 23;
--查找名字为null的同学
select * from student
	where name is null;

聚合函数
常用的聚合函数

函数名 含义
sum() 求和
avg() 平均值
max() 最大值
min() 最小值
count() 查找记录的数量
--查找总成绩
select sum(score) from scores;
--求成绩平均数
select avg(score) from scores;
--求最大成绩
select max(score) from scores;
--求最小成绩
select min(score) from scores;
--求班级人数
select count(*) from scores;

模糊查询

关键字 含义
like 模糊查询不能用等号,只能用like
% 多个任意符号
_ 一个字符
--查找姓马的人的信息
select * from student 
	name like "马%";
--查询名字有化的人的信息
select * from student
	name like "%化%"
--查找名字里第三个字是腾的人的信息
select * from student
	name like "__腾";
--查找名字是两个字的人的信息
select * from student
	name like "__";
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服