MySQL_纸上谈兵之入门

小白一枚,纯属省事,读书笔记,谨慎用之。

选择数据库:

       USE crashcourse;

显示数据库:

       SHOW DATABASES;

显示数据库内的表的列表:

       SHOW TABLES;

显示表列:

       SHOW COLUMNS FROM customers;

 

检索数据

SELECT语句:

检索单个列:

         SELECT prod_name FROMproducts;

检索多个列:

       SELECT prod_id, prod_name, prod_priceFORM products;

检索所有列:(列的顺序一般是在列表定义中出现的顺序)

       SELECT * FROM products;

检索不同的行:(包含了相同的供应商)

       SELECT vend_id, FROM products;

检索不同的行:(不包含相同的供应商)

       SELECT DISTINCT vend_id FORM products;

 

限制结果

为了返回第一行或者前几行,可使用LIMIT子句。

         SELECT prod_name FORMproducts LIMIT 5;   (返回不多于5行)

为了得到下一个5行,可指定检索的开始行和行数:

         SELECT prod_name FROMproducts LIMIT 5,5;

注意:行0检索出来的第一行为行0而不是行1,因此,LIMIT1,1将检索出第二行而不是第一行。

使用完全限定的表名: (crashcourse为数据库名,products为表名)

       SELSET proucts.prod_name FORMcrashcourse.products;

 

排序检索数据

如果不排序,数据一般将它在底层表中出现的顺序显示。

为了明确排序用SELECT语句检索出的数据,可使用ORDER RY子句。(以字母顺序排序数据)

         SELECT prod_name FORM products ORDERBY prod_name;

按多个列排序:

       SELECTprod_id, prod_price, prod_name FROM products ORDER BY prod_price, prod_name;

首先按prod_price进行排序,如果一致,则按照prod_name进行排序。

 

指定排序方向:

         默认的排序方式是升序,可以使用DESC关键字进行降序排序。

       SELECT prod_id, prod_price, prod_nameFORM products ORDER BY prod_price DESC;

多个列进行降序排序:(prod_price降序排序,prod_name升序排序))

       SELECT prd_id, prod_price, prod_name FORMproducts ORDER BY prod_price DESC,prod_name;

注意:DESC关键字只应用到直接位于其前面的列名。

如果想在多个列上进行降序排序,必须对每个列指定DESC关键字。

与DESC相反的是ASC。在给出ORDER BY子句时,应该保证它位于FROM子句之后,如果使用LIMIT,它则必须位于ORDER BY之后。

 

过滤数据

使用WHERE子句。

       SELECT prod_name,prod_price FORM products WHEAREprod_price = 2.50;

检索products表中两个列,但是不返回所有行,只返回prod_price为2.50的行。

WHERE子句操作符:

       =  表示:等于, < >  表示:不等于,   !=  表示不等于,  <   表示小于,

 >=   表示大于等于, >   表示大于,  BETWEEN   在指定的两个值之间

检查单个值:  在执行的时候不区分大小写

       SELECT prod_name, prod_price, FORMproducts WHERE prod_name = ‘fuses’;

列出价格小于10美元的所有产品:

       SELECT prod_name, prod_price FORMproducts WHERE prod_price < 10;

不匹配检查;  (检查不是由供应商制造的所有产品)

       SELECT vend_id, prod_name FROM vend_id< > 1003;

范围值检查:

       SELECT prod_name,prod_price FROM products WHERE prod_price BETWEEN5 AND 10;

 

数据过滤:

组合WHERE子句,以AND或者OR子句连接:

       AND操作符:为了通过不止一个列进行过滤,可使用AND操作符给WHERE子句附加条件。 每添加一条就使用一个AND。

       SELECT prod_id, prod_price, prod_nameFROM products WHERE vend_id= 1003 ANDprod_price <= 10;

       OR操作符:指示检索匹配任一条件的行。

       SELECT prod_name, prod_price FEOMproducts WHERE vend_id = 1002 ORvend_id = 1003;

计算次序:WHERE子句可包含任意多的AND 和OR子句。

       SELECT prod_name,prod_price FROM productsWHRER (vend_id = 1002 ORvend_id = 1003) AND prod_price >=10;

       IN操作符:用来指定范围。

       SELECT  prod_name, prod_price FROM products WHERE vend_id IN(1002,1003) ORDER BY prod_name;

       NOT 操作符:

        SELECT prod_name, prod_price FROMproducts WHERE vend_id NOT IN(1002,1003)ORDER BY prod_name;

 

用通配符进行过滤

LIKE操作符

百分号(%)通配符: %表示任何字符出现的任意次数

       SELECT prod_id, prod_name FORM products WHERE prod_name LIKE‘jet%’;

注意:字符串的列进行比较须要’ ’单引号。% 告诉MySql接收jet之后的任意字符,不管它由多少字符。

下划线(_)通配符: 只能匹配单个字符。

       SELECT prod_id, prod_name FROM products WHEREprod_name LIKE ’ _ton anvi1’;

后续更新,还在自学中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是在osg中调用mysql的基本步骤: 1. 安装mysql的C++ Connector库 可以从mysql官网下载安装,也可以使用包管理工具进行安装。 2. 在osg程序中包含mysql的头文件 在需要使用mysql的地方包含头文件:<mysql_connection.h>、<driver.h>、<exception.h>等。 3. 连接mysql数据库 使用mysql C++ Connector提供的接口,连接mysql数据库。示例代码如下: ``` sql::Driver* driver; sql::Connection* conn; driver = get_driver_instance(); conn = driver->connect("tcp://127.0.0.1:3306", "username", "password"); conn->setSchema("databasename"); ``` 上面的代码中,需要替换掉"username"、"password"和"databasename"为对应的mysql用户名、密码和数据库名。 4. 执行SQL语句 使用mysql C++ Connector提供的接口,执行SQL语句。示例代码如下: ``` sql::Statement* stmt; sql::ResultSet* res; stmt = conn->createStatement(); res = stmt->executeQuery("SELECT * FROM table_name"); while (res->next()) { std::cout << res->getString("column_name") << std::endl; } delete res; delete stmt; ``` 上面的代码中,需要替换掉"table_name"和"column_name"为对应的mysql表名和列名。 5. 关闭连接 使用mysql C++ Connector提供的接口,关闭连接。示例代码如下: ``` conn->close(); delete conn; ``` 完整的示例代码如下: ``` #include <iostream> #include <mysql_connection.h> #include <driver.h> #include <exception.h> int main() { try { sql::Driver* driver; sql::Connection* conn; driver = get_driver_instance(); conn = driver->connect("tcp://127.0.0.1:3306", "username", "password"); conn->setSchema("databasename"); sql::Statement* stmt; sql::ResultSet* res; stmt = conn->createStatement(); res = stmt->executeQuery("SELECT * FROM table_name"); while (res->next()) { std::cout << res->getString("column_name") << std::endl; } delete res; delete stmt; conn->close(); delete conn; return 0; } catch (sql::SQLException& e) { std::cout << "SQLException: " << e.what() << std::endl; return 1; } } ``` 上面的代码中,需要替换掉"username"、"password"、"databasename"、"table_name"和"column_name"为对应的mysql用户名、密码、数据库名、表名和列名。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值