MySql的根本语法操作

打印 上一主题 下一主题

主题 1925|帖子 1925|积分 5775

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
查看数据库和表

查看全部的数据库
show databases;

创建一个新的数据库
create database database_name; 
也可以是
create database if not exists database_name;
表示这个数据库不存在才创建 而不会打断其他sql语句的执行,而如果没有加的话,创建的数据库存在就会直接报错终止步伐的执行

数据库中储存数据的表是数据的重要组织单元 
查看数据库中的表时,必要先使用这个数据库
use database_name;
查看所拥有的表
show tables;

表操作

创建表用来储存数据
create table (if not exists) table_name(
-- 储存数据范例的字段 
name varchar() comment '名字', -- comment是注释,方便我们阅读字段,
 -- 并不会对表的创建有什么影响
age int --最后的一个字段不消加分号
);
创建一张相同属性的表
create table newclass like class;

将旧表的值写入新表
insert into newclass select * from class;

查看表的属性
desc table_name;

修改表的属性 alter

向表中插入一行新的表
alter table class add  email varchar(20) after name; -- 在name后面插入新的一行,email 字符长度为20

修改表中的的属性
alter table class modify email varchar(200); -- 将email的大小修改为200
删除原有的列
alter table class drop email;

重命名原有列
alter table class rename column name to newName;
重命名表名
alter table rename to/as new_table_name;


CRUD 

向表中插入元素
insert into table_name values (数据……),(数据……); -- 没有指定插入的数据对应的字段,那么就是默认的插入顺序就是跟表的插入顺序一样
insert into table_name(插入的字段) values (数据),(数据); 插入的数据要和前面的字段一一对应
修改数据
update students_mark set chinese = 100 where name = '琼恩';
 
查询数据
全列查询
select * from table_name;
查询指定的字段
select 字段1,字段2…… from table_name;
条件查询
select * from table_name where 限制条件  
分页查询
select * from table_name limit 0,4; -- 从第0条数据开始先后查询4条数据
select * from table_name limit 4; -- 也是从第0条数据开始先后查询4条数据
select * from table_name limit 4 offset 0; -- 也是从第0条数据开始先后查询4条数据 
查询去重
select distinct * from table_name;

 删除这个语法相识下,忘了也行
删除数据 慎用
delete from table_name where condition 
删数据库 相识下别用
drop database db_name;
删表
drop table table_name;

排序
升序

降序

条件查询 


运算符
and一假全为假
or
一真全为真
not                          条件为真输出为假,反之亦
比较运算符
=对null的比较是不安全的,好比null = null 照旧null
<=>对null是安全的,null<=>null是true
value between a0 and a1范围查询,在[a0,a1]之间,也能加not
like 模糊匹配,%是匹配任意个字符,_是至多一个字符
not like取放
value in (option……)若值在option中就返回true
聚合函数

count([distinct]  elem) 返回查询到的总数,都可以加上distinct去重
sum(elem) 返回查询的数据的总和,不是数字无意义
avg(elem)返回查询到的数据的均匀值,不是数字无意义
max(elem)返回查询到的数据的最小值,不是数字无意义
min(elem)返回查询到的数据的最小值,不是数字无意义
  不是数字无意义但是不会报错


使用format来保存俩位小数点

对使用group by 的查询,要分组的话要使用having
select role, sum(salary) from emp group by role having avg(salary)>2000; -- 查找薪水均匀在2000以上的
where分组的是真实的数据进行条件过滤   having是对分组后的组进行过滤

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美食家大橙子

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表