Mysql基本语法

连接上数据库
mysql -u 用户名 -p
第一步:创建数据库
create database 数据库名
CREATE DATABASE db_shopping;/创建数据库/
第二步:使用数据库
use 数据库名
USE db_shopping;/使用数据库/
创建表
create table 表名(
字段1  数据类型
........
)engine=innodb;
自动增长列:auto_increment
主键:primary key
/创建表/
CREATE TABLE tb_admin(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
username CHAR(50) NOT NULL,
password CHAR(50) NOT NULL
)ENGINE=INNODB;
查询表结构:desc 表名
DESC tb_admin;
重命名表:rename table 旧的表名 to 新的表名;
RENAME TABLE tb_person TO tb_people;
删除表:drop table 表名;
DROP TABLE tb_admin;
添加列:alter table 表名 add 列名 数据类型
ALTER TABLE tb_person ADD city CHAR(50);
删除列:alter table 表名 drop column 列名;
ALTER TABLE tb_person DROP COLUMN city;
//插入数据(添加数据)
insert into 表名(列名1,列名2....) values(值1,值2....);//单行插入
INSERT INTO tb_people(name,age,sex)VALUES('王五',24,'女');/单行插入/
insert into 表名(列名1,列名2....) values(值1,值2....),(值1,值2....);//多行插入
INSERT INTO tb_people(name,age,sex)VALUES('赵六',25,'男'),('小白',26,'女');/多行数据插入/
//修改数据
update 表名 set 列名1=值1,列名2=值2......where 列名=值;
UPDATE tb_people SET name='小明',sex='男' WHERE id=5;
//删除数据
delete from 表名;//删除全部数据
DELETE FROM tb_people;/删除时慎重/
delete from 表名 where 列名=值;//根据条件删除数据
DELETE FROM tb_people WHERE id=7;
truncate table 表名;//面试的时候经常碰到
TRUNCATE TABLE tb_admin;/删除所有数据,后面不能跟where条件/
//查询数据
select * from 表名;//查询所有数据
SELECT * FROM tb_people;/查询所有/
SELECT id,name,age,sex,address FROM tb_people;/查询所有,提高查询性能/
select 列名 from 表名;//单列查询
SELECT name FROM tb_people;/查询单列/
select 列名1,列名2....from 表名;//多列查询
SELECT name,age,sex FROM tb_people;/查询多列/
去除重复行
select distinct 列名 from 表名;
SELECT DISTINCT username FROM tb_admin;
分页查询
页数:(page-1)*count
行数:count
select * from 表名 limit页数,行数 ;
SELECT * FROM tb_people LIMIT 4,2;
排序
select * from 表名 order by 列名 desc;//降序
select * from 表名 order by 列名 asc;//升序
SELECT * FROM tb_people ORDER BY id DESC;/降序排列/
SELECT * FROM tb_people ORDER BY id ASC;/升序排列/
模糊查询
select * from 表名 where 列名 like 'XX%';//%通配符:匹配一个或任意多个字符
select * from 表名 where 列名 like 'X_';//_下划线通配符:匹配一个字符
字段连接
select concat(列名,'(',列名,')') from 表名;
使用别名
select 列名 as 新列名,...from 表名;
聚合函数
select max(列名) from 表名;//获取某列的最大值
select min(列名) from 表名;//获取某列的最小值
select avg(列名) from 表名;//获取某列的平均值
select count(列名) from 表名;//获取某列的行数
select sum(列名) from 表名;//获取某列的和
分组查询
select 列名,count(列名)from 表名 group by 列名;//group by语句必须在where语句之后
select 列名,count(列名)from 表名 group by 列名 having 条件;//having 语句用group by过滤,必须在group by之后
查询语句顺序:1、select 2、from 3、where 4、group by 5、having 6、order by 7、limit
子查询指的是嵌套在查询中的查询
select 列名 from 表名 where 列名 in(select 列名 from 表名 where 列名=值);
/子查询/
SELECT name FROM tb_people WHERE id=4;
SELECT name FROM tb_people WHERE age IN(24,25);
SELECT name FROM tb_people WHERE id IN(SELECT id FROM tb_people WHERE age=24);
内联接:inner join 表名 on 等值条件表达式
自联接
select s1.列名 ,s2.列名 from 表名 as s1,表名 as s2 where s1.列名=s2.列名 and 列名=值;
SELECT
s1.sc_id,s1.k_id,s1.sc_score,s2.sc_id,s2.k_id,s2.sc_score
FROM
tb_score AS s1,tb_score AS s2
WHERE
s1.sc_id=s2.sc_id
AND
s2.k_id=1;
左外联接:left out join 表名 on 等值条件表达式
/左外联接:left out join/
SELECT
tb_score.,tb_student.
FROM
tb_score
LEFT OUTER JOIN
tb_student
ON
tb_score.s_id=tb_student.s_id;
右外联接:right out join 表名 on 等值条件表达式
/右外联接:left out join/
SELECT
tb_score.,tb_student.
FROM
tb_score
RIGHT OUTER JOIN
tb_student
ON
tb_score.s_id=tb_student.s_id;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值