mysql-SQL语法
细节查询:http://www.w3school.com.cn/sql/index.asp
1 DDL-data difinition lanuage数据定义语句
使我们有能力创建或删除表格,我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束:
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
1.1 CREATE TABLE
create table server_fun_categ (
ID int(11) key auto_increment,
server_categ_name char(20) NOT NULL
)
create table server_app_categ(
ID int(11) KEY auto_increment,
server_categ_id int(11) NOT NULL,
server_app_name char(30) NOT NULL,
FOREIGN KEY(server_categ_id) REFERENCES server_fun_categ(ID)
)
create table server_list(
server_name char(13) NOT NULL,
server_wip char(15) NOT NULL,
server_lip char(15) NOT NULL,
server_op char(10) NOT NULL,
server_app_id int(11) NOT NULL,
FOREIGN KEY(server_app_id) REFERENCES server_app_categ(ID)
)
#为了设立自动运维平台,设计MySQL表,并定义好字段名,字段类型,字段约束。设定好主键,外键(存储引擎默认为innodb,字符集为latin1)
CREATE TABLE atm_acc(
id int(10) auto_increment,
username VARCHAR(100) NOT NULL,
passwd VARCHAR(100) NOT NULL,
PRIMARY KEY(id),
UNIQUE KEY(id),
UNIQUE KEY(username)
)
#创建account表,id唯一且自增,username唯一。
#unique key(id,username)表示联合唯一,就是id必须唯一,但id不一样的时候username可以一样。
2 DML-data manipulation language数据操作语句
查询、更新、删除和插入指令构成了 SQL 的 DML 部分:
SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据
2.1 SELECT
2.1.1 条件查询
包含
SELECT * FROM SvrConfig WHERE description LIKE '%redis%'
等于、排序
SELECT * FROM SvrConfig WHERE type = 68 ORDER BY subtype DESC
限制
SELECT * from GameRooms limit 0,1000
SELECT * from GameRooms limit 1000,1000
在列表中
SELECT * from SvrConfig where id in (100,101) limit 0,1000
2.1.2 多表查询
SELECT
GameRooms.roomname AS RoomName,
GameRooms.roomid AS RoomID,
Servers.ip AS ServerIP
FROM
GameRooms,
SvrConfig,
Servers
WHERE
GameRooms.appid = SvrConfig.id
AND
SvrConfig.svrid = Servers.id
#JOIN & KEY。一个表的字段和另一个表的主键保持一致(字段名要不一样。)
SELECT
GameRooms.roomid AS RoomID,
GameRooms.roomname AS RoomName,
SvrConfig.svrid AS ServerID
FROM
GameRooms
JOIN
SvrConfig
ON
GameRooms.appid = SvrConfig.id
#INNER JOIN。和上个查询功能一致
SELECT
SvrConfig.description,
SvrConfig.gameid,
Servers.ip,
SvrConfig.dir
FROM
SvrConfig
LEFT JOIN Servers ON SvrConfig.svrid = Servers.id
WHERE
SvrConfig.svrgroupid = 1000
#LEFT JOIN:得到A表的所有数据和满足条件的B表部分数据。
2.2 insert
INSERT INTO SvrConfig (
id,
type,
subtype,
svrid,
PORT,
config,
gameid,
description,
svrgroupid,
active
)
VALUES
(
3151,
68,
1004,
22,
10004,
'process=\'/data/\';Need=1;',
40166,
'jabbok_test',
5000,
1
)
#不是所有字段都要插入数据,所以把要插入的字段标出来。
#字符串要用''单引号。如果字符串里面有单引号,就用\转义。
SQL函数
MAX(expr)
SELECT
MAX(id) + 1
FROM
SvrConfig
#获取字段中的最大值,我要在字段中自动插入一个自增的数,就需要先获得max(column_name)
CONCAT(str1,str2,...)
字符串连接
CAST(expr AS type)
数据类型转换
SELECT
CONCAT(
'ip=',
Servers.ip,
';port=',
CAST(SvrConfig.`port` AS CHAR),
';appid=',
Servers.localipmask,
';'
)
FROM
Servers,SvrConfig
WHERE
SvrConfig.type = 68
AND
Servers.idcid = 0
AND
SvrConfig.svrid = Servers.id
#把两张表中的信息按照规则筛选出来,输出为一个char。
mysql-SQL语法的更多相关文章
- mysql SQL语法总结
mysql主键操作 删除表主键: alter table student drop primary key; 增加表主键: alter table student add primary key(id ...
- [转]MySQL 最基本的SQL语法/语句
MySQL 最基本的SQL语法/语句,使用mysql的朋友可以参考下. DDL-数据定义语言(Create,Alter,Drop,DECLARE) DML-数据操纵语言(Select,Delete ...
- sql点滴41—mysql常见sql语法
原文:sql点滴41-mysql常见sql语法 ALTER TABLE:添加,修改,删除表的列,约束等表的定义. 查看列:desc 表名; 修改表名:alter table t_book rename ...
- mysql中SQL执行过程详解与用于预处理语句的SQL语法
mysql中SQL执行过程详解 客户端发送一条查询给服务器: 服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果.否则进入下一阶段. 服务器段进行SQL解析.预处理,在优化器生成对应的 ...
- MySQL基本语法(一):和SQL Server语法的差异小归纳
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- mysql用户授权、数据库权限管理、sql语法详解
mysql用户授权.数据库权限管理.sql语法详解 —— NiceCui 某个数据库所有的权限 ALL 后面+ PRIVILEGES SQL 某个数据库 特定的权限SQL mysql 授权语法 SQL ...
- 【原创】6. 在MYSQL++中实现SQL语法中的NULL
这次要说明的是在MYSQL++中为了实现SQL中的NULL而做出的一系列的举措.我的感觉是Null<T, B>类型通常出现在SSQLS和template Query中比较多. 1. 什么是 ...
- MySQL prepare语句的SQL语法
MySQL prepare语法: PREPARE statement_name FROM preparable_SQL_statement; /*定义*/ EXECUTE statement_name ...
- MySQL的操作数据库SQL语法
MySQL的操作数据库SQL语法 顺序:操作数据库 > 操作数据库中的表 > 操作数据库中的表的数据 MySQL不区分大小写字母 1. 操作数据库 1.创建数据库 2.删除数据库 3.使用 ...
- 网络安全从入门到精通 (第二章-2) 后端基础SQL—MySQL数据库简介及SQL语法
本文内容: 什么是数据库 常见数据库 数据库的基本知识 基本SQL语法 1,什么是数据库? 数据库就是将大量数据保存起来,通过计算机加工,可以高效访问的数据聚合. 数据库就是长期存储在计算机内,有组织 ...
随机推荐
- (转)C中的volatile用法
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进 ...
- Python 002- 爬虫爬取淘宝上耳机的信息
参照:https://mp.weixin.qq.com/s/gwzym3Za-qQAiEnVP2eYjQ 一般看源码就可以解决问题啦 #-*- coding:utf-8 -*- import re i ...
- 文件读写&&内容替换
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...
- IE6span 高度问题
IE6盒子的最小高度为20px,所以设置低于20px大小时,加上_overflow:hidden;
- 详解likely和unlikely函数【转】
本文转载自:http://blog.csdn.net/npy_lp/article/details/7175517 内核源码:Linux-2.6.38.8.tar.bz2 参考文档:http://gc ...
- 数组、栈、堆(java基础知识五)
1.数组概述.定义格式 * A:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数据类型,也可以存储引用数据类型. * B:数组定义格式 格式1:数据类型[ ...
- MYSQL初级学习笔记二:数据表相关操作及MySQL存储引擎!(视频序号:初级_5,7-22|6)
知识点三:数据表相关操作(5,7-22) --------------------------------整型--------------------------------- --测试整型 CREA ...
- codeforces 445B. DZY Loves Chemistry 解题报告
题目链接:http://codeforces.com/problemset/problem/445/B 题目意思:给出 n 种chemicals,当中有 m 对可以发生反应.我们用danger来评估这 ...
- 通过Toad工具查看dmp里面的表
今天有同事要查看dmp里面的表是否有数据,虽然可以把单表数据通过exp导出查看,但还是稍显有点麻烦,要花时间. 无意中发现toad工具可以直接查看dmp里面的表数据. 第一步:Database--&g ...
- POJ 1236 Network of Schools (校园网)
Description 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”).注意如果 B 在 A 学校的分发列表中,那么 A 不必也在 B 学校的 ...