mysql连接原生语句_mysql原生语句基础知识

要操作数据库,首先要登录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;去重

629e42a0c83060308e6b4182664198a3.png

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

9c394805cc4f00b3bba06de6c4f1818d.png

排序:

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

联合查询

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

table1:

1c8037bdb8ce2df5eeea4294aea6e649.png

table2:

6cbe65c36c1950ff652a6d233bb019a1.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;

4d939070b7e74e69ce7ef8bbe1ac4387.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;

81b7567715f42375f26c6163d0f99d22.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;

aaba36939d769ae67647d1aede1a6b82.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值