博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql原生语句基础知识
阅读量:4551 次
发布时间:2019-06-08

本文共 2815 字,大约阅读时间需要 9 分钟。

要操作数据库,首先要登录mysql:

*mysql -u root -p 密码

创建数据库:

*create database Runoob(数据库名);

删除数据库:

*drop database Runoob;

选择使用某个数据库:

*use Runoob;

查看所有数据库:

show databases;

创建数据表:

create table Table_name charset=utf8;

create table if not exists 'Table_name'(

'id' int unsigned primaty key auto_increment,
'name' varchar(32) not null,
'create_time' Date
)ENGING=InnoDB DEFAULT CHARSET=UTF8;

查看表结构:

desc Table_name;

删除数据表:

drop table Table_name;

查看所有的表:

show tables;

insert into Table_name (filed1,filed2,...) values (value1, value2,...);

实例:
insert into Table_name ('name','create_time') values ('学习mysql', NOW());

查询语句:

select column_name1, column_name2 from Table_name [where 条件] [limit n] [offset m]

1、通过limit属性限制返回的数量
2、通过offset指定开始查询的数据偏移量,默认是0

修改或更新数据:

update Table_name set field1=new_value1,field2=new_value2 [where 条件]

根据条件修改指定某条数据某些字段的值
实例:
1、将所有人的年龄加1 update students set age=age+1;
2、将id为5的手机号改为默认的-:update students set tel=default where id=5;
3、将手机号为17521192856的姓名改为小马:update students set name='小马' where tel='17521192856';

使用update替换某个字段中的某个字符(批量修改指定字符串):

update Table_name set filed_name=replace(field_name, 'old_value','new_value') [where 条件]

实例:
把表中所有name列的值为c++的值改为python
update Table_name set name=replace(name, 'c++', 'python');

删除数据:

delete from Table_name [where 条件];

如果没有指定where子句,将删除表中的所有记录
实例:delete from students where id=3;

模糊查询:

sql like 子句中使用%来表示任意字符,类似于正则表达式中的*,如果没有使用%,_表示一个占位字符,like子句与=的效果一样。

select field1,field2... from Table_name where field1 like 条件1 [and [or]] field2='somevalue';

实例:
1、查询name列中所有的包含COM的数据行
select * from students where name like '%COM';

union将不同表中相同列中查询的数据展示出来(默认去重):

MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

select field1, field2,... from table1 [where 条件] union [all] select field11, field22,... from table2 [where 条件] [order by field]

标签:注:两个select语句中至少有一个field一样
实例:
select country from Websites union select country from apps order by country;去重

1323525-20190424102631470-1505502180.png

select country, name from Websites union all select country, app_name from apps order by country ASC;不去重

1323525-20190424102601923-21452144.png

排序:

select field1,field2... from Table_name [where 条件] order by field1 desc;

联合查询

内连接inner join ... on ...

table1:

1323525-20190423182434414-1663108319.png

table2:

1323525-20190423182456355-1842443476.png

从以上两张表来读取table1表中所有runoob_author字段在table2表对应的runoob_count字段值:

select a.runoob_id,a.runoob_author,b.runoob_count from table1 as a inner join table2 on a.runoob_author = b.runoob_author;
等同于:
select a.runoob_id,a.runoob_author,b.runoob_count from table1 as a, table2 as b where a.runoob_author = b.runoob_author;

1323525-20190423182407890-1411449571.png

左连接left join ... on ...(获取左侧表的所有数据和右侧满足条件的数据) :

select a.runoob_id,a.runoob_author,b.runoob_count from table1 as a left join table2 as b on a.runoob_author = b.runoob_author;

1323525-20190423182342674-1124530978.png

右连接:

select a.runoob_id, a.runoob_author,b.runoob_count from table1 as a right join table2 as b on a.runoob_author = b.runoob_author;

1323525-20190423182209881-1187936216.png

转载于:https://www.cnblogs.com/We612/p/10758055.html

你可能感兴趣的文章
Office2007 升级到 office2010
查看>>
Python+Selenium 自动化实现实例-Xpath捕捉元素的几种方法
查看>>
SpringBoot整合Hibernate
查看>>
PPT1 例2
查看>>
extern外部方法使用C#简单例子
查看>>
血液循环结构
查看>>
SQL Server统计数据库中表个数、视图个数、存储过程个数
查看>>
设计模式:观察者模式
查看>>
JVM体系结构之六:堆Heap之1
查看>>
TCP之二:TCP的三次握手与四次分手
查看>>
es的返回数据结构
查看>>
[ActionScript 3.0] as3处理xml的功能和遍历节点
查看>>
linux学习(6)-redhat安装xwindow环境
查看>>
6.28 加法作业
查看>>
CentOS6+nginx+uwsgi+mysql+django1.6.6+python2.6.6
查看>>
【bzoj2829】信用卡凸包 凸包
查看>>
oracle 游标
查看>>
关于拍照那些小事——五一苏行记(三)
查看>>
jquery简单的表单验证充值数量
查看>>
大叔手记(1):使用Visual Studio的查找与替换替代默认的系统搜索
查看>>