Sql语句面试大全总结

                                 Sql语句面试大全总结

 1建表

CREATE TABLE IF NOT EXISTS Test(
	id INT AUTO_INCREMENT,                         //自增长
	username VARCHAR(20) NOT NULL,                 //非空
	age TINYINT UNSIGNED NOT NULL DEFAULT 18,      //默认值
	sex ENUM (‘男’,‘女’,‘保密’) NOT NULL DEFAULT ‘男’,
	card CHAR(18) UNIQUE,                            //唯一
    primary key(id)				   //主键
) engine=INNODB AUTO_INCREMENT =316001;            //引擎

2 对表结构修改

ALTER TABLE Test1 RENAME TO Test2;                  //更改名字
ALTER TABLE Test1 ADD card CHAR(18);                 //添加字段
ALTER TABLE Test1 DROP card;                         //删除字段
ALTER TABLE Test1 MODIFY card CHAR(18);               //修改字段
ALTER TABLE Test1 ADD PRIMARY KEY(id,card);           //添加主键和删除主键

 3 对表数据修改

INSERT Test1(username,password) VALUES(‘A’,’AAA’);	                           //插入记录
UPDATE Test1 SET age =5;                                                      //更新记录
SELECT Test1. username AS ‘用户名’ FROM TEST1 AS test1;                        //起名字
SELECT * FROM Test1 WHERE age <=> NULL;                                        //检测NULL
SELECT * FROM Test1 WHERE age BETWEEN 3 AND 10;                                //范围查询
SELECT * FROM Test1 GROUP BY username;                                         //分组查询
SELECT *  FROM Test1 WHERE username NOT LIKE  '刘%';                           //模糊查询
SELECT * FROM Test1 LIMIT 3;                                                    //显示前三条
SELECT * FROM Test1 LIMIT 0,1;                                                 //显示第一条
SELECT * FROM Test1 ORDER BY username DESC, password ASC;                       //升序降序
SELECT * FROM Test1 INNER JOIN Test2 ON Test1.id = Test2.id                     //内外连接 
SELECT col, COUNT(*) AS num FROM Test1 WHERE col > 2GROUP BY col HAVING COUNT(*) >= 2;  //HAVING                                                

Group By 和 Having, Where ,Order by这些关键字是按照如下顺序进行执行的:Where, Group By, Having, Order by。

SELECT username FROM Test1 UNION SELECT username FROM Test2        //联合查询
SELECT * FROM Test1 WHERE EXISTS (SELECT m FROM Test2 WHERE id =100) // EXISTS
SELECT * FROM Test1 WHERE username in (SELECT username FROM Test1 WHERE username ='刘' );

 4存储过程

delimiter //
create procedure myprocedure( )
    begin
        DELETE FROM Test1
        WHERE Test1.id = 2;
end //
delimiter ;

5 truncate delete drop 区别 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

haikuotiankongdong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值