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,什么是数据库? 数据库就是将大量数据保存起来,通过计算机加工,可以高效访问的数据聚合. 数据库就是长期存储在计算机内,有组织 ...
随机推荐
- Linux 用户和文件权限管理
Linux —— 用户权限管理 权限: 为什么需要权限管理? 1.计算机资源有限,我们需要合理的分配计算机资源. 2.Linux是一个多用户系统,对于每一个用户来说,个人隐私的保护是十分重 ...
- IE浏览器部分版本不支持background-size属性问题
background-size是CSS3新增的属性,但是IE8以下还是不支持,可以通过滤镜来实现这样的一个效果 background-size:contain; // 缩小图片来适应元素的尺寸(保持像 ...
- 备忘录模式-Memento
备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可以将该对象恢复到原先保存的状态. 备忘录模式结构图: 何时使用备忘录模式: Memento模式比适合 ...
- 在C/C++中使用VLD检测内存泄漏
VLD地址:https://kinddragon.github.io/vld/ 若出现内存泄漏,VS输出窗口会有如下提示: 若要确定造成内存泄漏的代码位置,仅需进入工程属性->链接器->调 ...
- Mac开发必备工具(二)—— iTerm 2
iTerm 2 简介 iTerm 2 is a terminal emulator for Mac OS X that does amazing things. iTerm 2 有很多能够提升效率的实 ...
- node js 安装时选择勾上path
勾上path则会自动配置环境变量,否则必须手动去添加nodejs的环境变量.
- ReactMotion Demo8 分析
链接 首先通过spring函数Motion的style参数, 传入Motion Component, 计算style的过程: const style = lastPressed === i & ...
- 哈希表---线性探测再散列(hash)
//哈希表---线性探测再散列 #include <iostream> #include <string> #include <stdio.h> #include ...
- read appSettings in configuration file by XElement with xmlns
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/how-to-write-queries- ...
- 格式化磁盘,提示 is apparently in use by the system
一般是被mdadm占用着. 使用 cat /proc/mdstat 查看所有 找到欲格式化盘符号. 使用 mdadm --stop /dev/md0 mdadm --remove /dev/md0 ...