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,什么是数据库? 数据库就是将大量数据保存起来,通过计算机加工,可以高效访问的数据聚合. 数据库就是长期存储在计算机内,有组织 ...
随机推荐
- WPF DataGrid 获取选中 一行 或者 多行
WPF中DataGrid使用时,需要将其SelectedItem转换成DataRowView进行操作 然而SelectedItem 与SelectedItems DataGrid的SelectionU ...
- TCP客户服务端
创建TCP服务端1.创建一个ServerSocket对象.2.调用accept()方法接收客户端请求.3.从Socket中获取I/O流.4.对I/O流进行读写操作,完成与客户端的交互.5.关闭I/O流 ...
- ios状态栏的一些操作
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES; //显示 [UIApplication sharedA ...
- javascript:;用法集锦
如果是个# ,就会出现跳到顶部的情况,个人收藏的几种解决方法:1:<a href="####"></a> 2:<a href="javasc ...
- kentico检查当前授权用户,是否为admin角色
https://docs.kentico.com/k11/custom-development/user-internals-and-api/checking-permissions-using-th ...
- linux初级学习笔记五:bash特性详解!(视频序号:03_2,3)
本节学习的命令:history,alias,ualias,\CMD 本节学习的技能: bash的特性 光标跳转 查看命令历史 命令历史的使用技巧 给命令起别名 命令替换 文件名通配符 shell: ...
- Vue安装及插件Vue Devtools
vue安装: # 最新稳定版 $ npm install vue # 全局安装 vue-cli $ npm install --global vue-cli # 创建一个基于 webpack 模板的新 ...
- 【USACO】The Cow Prom
[题目链接] 点击打开链接 [算法] tarjan求强连通分量 [代码] #include<bits/stdc++.h> #define MAXN 20005 using namespac ...
- node.js适合游戏后台开发吗?
网站服务器和游戏服务器是怎么样联系到一起的? 百牛信息技术bainiu.ltd整理发布于博客园 1. 游戏分很多种,咱们先来看看MMORPG. 再怎么简单的RPG服务器都免不了处理多人交互的情形,上百 ...
- Code:log4
ylbtech-Code:log4 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 0. http://logging.apache.org/log4net/ 0 ...