SQL简单使用-基础篇
搭建好mysql数据库后,就可以练习SQL语句,达到熟练操作数据库的目的。SQL语句主要分为增删改查。多练习就可以熟能生巧了
先建立一个数据表便于做增删改查的练习,这里就直接将创建表的语句写出来先执行。后面在学习如何建立数据表
SET NAMES utf8;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for `websites`
-- ----------------------------
DROP TABLE IF EXISTS `websites`;
CREATE TABLE `websites` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(20) NOT NULL DEFAULT '' COMMENT '站点名称',
`url` varchar(255) NOT NULL DEFAULT '',
`alexa` int(11) NOT NULL DEFAULT '0' COMMENT 'Alexa 排名',
`country` char(10) NOT NULL DEFAULT '' COMMENT '国家',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of `websites`
-- ----------------------------
BEGIN;
INSERT INTO `websites` VALUES ('1', 'Google', 'https://www.google.cm/', '1', 'USA'), ('2', '淘宝', 'https://www.taobao.com/', '13', 'CN'), ('3', '菜鸟教程', 'http://www.runoob.com/', '4689', 'CN'), ('4', '微博', 'http://weibo.com/', '20', 'CN'), ('5', 'Facebook', 'https://www.facebook.com/', '3', 'USA');
COMMIT;
SET FOREIGN_KEY_CHECKS = 1;
1.select 用于查询数据
示例:select * from websites;
查询创建的websites表数据。 注意后面的分号,分号表示一段SQL命令的结束。select * from websites where name='淘宝';
查询websites表中的‘淘宝’的数据, 号表示查询这个websites表的所有数据。这里号可以写成表的某一列。select name from websites; 或 select name from websites where country='CN';
2.select disinct 用于返回唯一不同的值。
示例:select distinct country from websites;
查询websites表中country唯一不同的值。
3.where 子句用于提取那些指定标准的数据
运算符
、<、=、!=、<>、>=、<= 大于/小于/等于/不等于/大于等于/小于等于
between 某个范围内
in 指定针对某个列的多个可能值
like 搜索某种模式
4.and & or
and 如果第一个条件成立和第二个条件都成立,则and显示一条记录,
or 如果第一个条件和第二个条件有一个条件成立,则显示一条一条记录;
示例:
SELECT * FROM Websites WHERE country='CN' AND alexa > 50;
SELECT * FROM Websites WHERE country='CN' or alexa > 50;
结合运用select * from websites where alexa >15 and ( country='CN' or country='US' );
5.order by 对于查询的数值进行排序,order by 升序, 加上desc为降序
示例:
select * from websites order by alexa; 以alexa列的数值进行升序排序
select * from websites order by country,alexa desc; 以country和Alexa的数值进行降序排序(其中由于country在前,所以country优先级高于Alexa)
6.insert into 向表中插入新数据。
示例:insert into websites (name,url,alexa,country) values ('百度','https://www.baidu.com/','4','CN')
7.update 用于更新表中已存在的记录
示例:update websites set alexa ='5000' , country ='USA' where name ='菜鸟教程';
注意如果不加where则会将websites整张表的数据都改了。所以在实际生产环境中管理员都会对update使用进行限制,如果使用update时没有加上where则会报错
- delete、drop、truncate 删除数据 (其中drop与truncate删除数据不可恢复,所以在使用前切记慎重,做好数据备份准备)
delete 用于删除表中数据(可以删除整张表的数据或者表中某一段数据,)delete from websites where name='菜鸟教程'; delete table websites; 或 delete * from websites;
drop tables websites; 删除websites数据表
drop database mysql; 删除mysql数据库
truncate tables websites删除表数据,表的框架还保留,但数据不可恢复,这是与delete的区别点
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341