上篇文章简单说了下数据库, 并教了怎样安装 mysql 工具和可视化工具, 不知道你现在安装好了没? 那今天我们继续说 mysql, 今天说下 mysql 语句
进入正题
mysql 语句分为两种, 一种是 DDL, 就是数据定义语句, 比如那些 CREATE,ALTER 另一种是 DML, 就是数据管理语句, 比如增删改查, 我所说的就是 DML, 那么开始吧!
1. 创建并使用数据库
我们先打开 navicat 可视化管理工具, 连接好我们的本地数据库
然后点击查询, 进行写我们的 mysql 语句
那么正式开始创建数据库并使用
这里我创建了个 school 的数据库, 并使用了他运行语句可以直接点上面的运行, 也可以这样
注意: 那个数据库的引号是个反引号, 在 tab 键的上方, 还有 mysql 的注释是两个划线再加一个空格语句结束后最好加个; 来结束
在这里我们也可以看看我们已有的数据库
上面成功创建后你将会在左侧看到这个数据库, 这样就成功了
2. 进行建表
上面创建了一个 student 的表格, 并且有 id,name,sex,age,address 和 in_school 这几个栏位, 其中 id 是自增的, 用了 AUTO_INCREMENT 来声明的 NOT NULL 就是代表该栏位不能为空, NULL 就是相反的而 INT,CHAR 这些是数据类型, mysql 的数据类型有 int,char,varchar(括号里的是自定义长度),datetime 等那么, 接下来点击运行,
结果报了错, 说我没有主键, 那我们可以在 id 栏位加上主键声明
再次运行, 就成功了, 你点开数据库, 你会看到这个
3. 进行增删改查操作
1). 往数据库添加数据
格式为: INSERT INTO `tablename` VALUE(v1,v2,v3,...), 如下:
这是往 students 表中添加数据, VALUE 后的括号填的值需要对应刚才你创建表时候的栏位, 要不会报错但是如果每个都需要这样岂不是很麻烦? 不怕
若是只想填几个栏位, 也可以这样填
这里是在表名加个你需要填的栏位即可, 后面的数据也要记得一 一对应, 还有的就是, 那些是 NOT NULL 的必须要填, 否则也会报错
添加了数据之后效果如下图
还有一个问题就是, 可不可以一次性添加多个数据? 答案是肯定可以想一次性添加多个数据时, 只需要把 VALUE 改成 VALUES 即可, 然后每个数据用逗号隔开, 如下:
2). 查询表格中的数据
最简单的格式为: SELECT data FROM tablename
查询 students 表格的所有数据
* 是代表所有数据, 实际开发中并不会这样查询, 因为会影响效率我们可以指定某一栏位进行查询, 如下
这样代表只查 name 和 sex 这两个栏位的
我们还可以按条件来进行查询, 比如只查询性别为女的, 嘻嘻
这样就查到了性别为女的数据, 可以看到, WHERE 后面跟的就是条件
我们还可以将结果进行排序
这里可以看到他是按照 id 来倒序来排的, ORDER BY 后面跟的是排序条件, 而那个 DESC 是倒序, 默认是顺序, 为 ASC
查询还不止这些, 比如还可以指定偏移数来查询多少数据, 如下
这里是查询年龄大于 19 岁的学生, 并且按照 id 来降序来排, 查询了第一页的 3 条数据其中 LIMIT 就是指定查询多少页的多少数据上述的 1 代表的是偏移数, 而 3 就是代表数据数, 所有表示的是偏移一个数据来查下面的三个数据
其实, 查询是有一条很长的表达式的, 如下:
SELECTdata FROM tablename WHERE condition GROUP BY con HAVING condition ORDER BY condition LIMIT offset,num
我们在写查询语句时, 必须按照上面的顺序, 粗体字就是关键字, 要不会出错, 没有时可以省略再说说上面还没有说过的几个关键字
GROUP BY: 这个是分组
HAVING: 这个是按条件来分组
好了, 查询的就这么多
3). 修改数据
格式为: UPDATEtablenameSET data [WHEREcondition]
中括号里的是可以省略, 为删除的条件, 省略时就为更改所有数据
上面的就是修改表格 students 的表格, 其中 SET 的数据是修改的数据
4). 删除数据
格式为: DELETE FROM tablename [WHERE condition]
中括号和修改数据的意思一样, 也挺简单的注意: 不写 WHERE 时是删除该表格的所有数据
这是删除 students 表的性别为男的数据
END
好了, 如果你跟着我一步步做, 恭喜你, 学会了简单的数据库语句, 现在留个练习给你们, 可以检验下自己有没有学会操作 mysql:
1. 创建一个数据库, 然后设计一个新闻表 (数据类型要使用合理)
2. 使用 SQL 语句向数据表写入十五条不同的数据
3. 使用 SQL 语句查询类别为百家的新闻数据
4. 使用 SQL 语句删除一条新闻数据
5. 使用 SQL 语句查询所有的新闻, 以添加时间的倒序进行排列
6. 使用 SQL 语句查询第二页数据 (每一页 5 条数据)
学会了 mysql 语句, 如果想学更多请去官方文档哈, 这是网址 https://dev.mysql.com/doc/refman/5.7/en / 在下一篇文章我将会讲述如何用 python 来连接操作数据库记得来看看哈!
来源: http://www.jianshu.com/p/ae3a8e86cb5d