SQL基础

环境:mysql-5.5.15,mysql-front 5.3

 

新建table websites 

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;

数据如下:

SELECT

从表中选择某些列,结果被存储在一个结果表中,称为结果集。

SELECT column_name,column_name FROM table_name;
select name, url from websites;

 

从表中选择所有的列

SELECT * FROM table_name;
SELECT * FROM websites;

SELECT DISTINCT 

用于返回唯一不同的值

SELECT DISTINCT column_name,column_name FROM table_name;
select DISTINCT country from websites

WHERE

WHERE 子句用于提取那些满足指定标准的记录。

SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;

 

select * from websites where country = 'USA'

select * from websites where alexa < 100

 AND & OR 运算符

 


SELECT * FROM Websites
WHERE alexa > 15
AND (country='CN' OR country='USA');

 ORDER BY

对结果集进行排序。

默认是升序

SELECT * FROM Websites
WHERE alexa > 15
AND (country='CN' OR country='USA')
ORDER BY alexa;

 使用关键字DESC,按照降序对记录进行排序,这个关键字只对它紧邻的column name起作用

SELECT * FROM Websites
WHERE alexa > 15
AND (country='CN' OR country='USA')
ORDER BY alexa DESC;

 

还可以对多列进行排序,先按照第一个column name排序,再按照第二个column name排序 

SELECT * FROM Websites
ORDER BY country, alexa;

在country相同时,再根据alexa排序。 

INSERT INTO

1. 指定列名及被插入的值

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
INSERT INTO Websites (name, url, alexa, country)
VALUES ('百度','https://www.baidu.com/','4','CN');

没有向id字段插入值,这个值会自动更新,且每条记录都是唯一的。

2. 无需指定要插入数据的列名,只需提供被插入的值即可

INSERT INTO table_name VALUES (value1,value2,value3,...);

UPDATE

更新表中已存在的记录

UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;

不使用WHERE子句的话会更新所有记录!

执行命令

SET SQL_SAFE_UPDATES = 1

使MySql运行在safe-updates模式下,该模式会导致非主键条件下无法执行update或者delete命令,如果不是用主键当where语句,会报如下错误。但是在这个模式下,就只能使用主键操作。

UPDATE Websites SET country='USA'

 

UPDATE Websites 
SET alexa='5000', country='USA' 
WHERE id = 3;

 

 DELETE

删除表中的行,和UPDATE一样需要注意不使用WHERE子句的话会删除所有记录!

DELETE FROM table_name
WHERE some_column=some_value;
DELETE FROM Websites
WHERE name='百度' AND country='CN';

 

参考 

Mysql

SQL教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL基础教程 mobi》是一本关于SQL数据库语言的基础教程。SQLStructured Query Language)是一种用于管理关系数据库系统的标准语言。通过学习这本教程,读者可以了解SQL的基本语法、数据查询和管理、数据操作和控制等方面的知识。 该教程的内容结构清晰,适合初学者入门。首先介绍了SQL的概念、起源和发展,让读者对SQL有一个全面的了解。接着,教程详细介绍了SQL的基本语法,包括数据库的创建与删除、表的创建与修改、数据的插入与更新、数据的查询等。通过具体的例子和实践操作,读者可以快速上手SQL语言。 教程还讲解了SQL中的数据查询与过滤,包括使用SELECT语句查询特定数据、使用WHERE子句进行条件过滤、使用ORDER BY子句进行排序、使用LIMIT子句限制返回结果数量等。读者可以学习到如何根据需求选择合适的查询方式,进行高效的数据提取。 此外,教程还介绍了SQL中数据的更新与删除操作,包括使用UPDATE语句修改数据、使用DELETE语句删除数据、使用ALTER TABLE语句修改表结构等。读者可以学习到如何对数据库中的数据进行修改和删除,保证数据的完整性和一致性。 总之,《SQL基础教程 mobi》是一本适合初学者入门的SQL教程,通过学习该教程,读者可以掌握SQL语言的基本知识和技能,能够进行数据库的基本操作和管理。无论是对于想要学习数据库技术的人,还是对于需要使用SQL语言进行数据管理的人来说,都是一本很好的参考书籍。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值