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#生成PDF准考证
项目中需要做一个生成PDF准考证的功能,在这里跟大家分享一下思路.. 1.首先是下载Adobe Acrobat 9 Pro,安装破解(高版本的貌似破解,不了,自带正版意识的略过..随意下载) 2.新建 ...
- MapReduce算法形式五:TOP—N
案例五:TOP—N 这个问题比较常见,一般都用于求前几个或者后几个的问题,shuffle有一个默认的排序是正序的,但如果需要逆序的并且暂时还不知道如何重写shuffle的排序规则的时候就用以下方法就行 ...
- 关于sh,bash和dash
1 debian下shell脚本的执行过程 当sh xxx.sh,或则./xxx.sh时,默认是sh解释器来执行这个shell脚本的,但是sh是到bash的软连接,所以本质上还是bash来解析这she ...
- delphi 中OutputDebugString 函数的妙用(使用DebugView或者Pascal Analyzer软件,在运行过程中就能监视和捕捉日志,而且通过网络就能监视)
原文地址 https://www.peganza.com/delphi-and-outputdebugstring.html 曾经想要实时监控您的Delphi应用程序,并能够查看日志消息吗?当然,您始 ...
- js中!~什么意思
(function () { var names = []; return function (name) { addName(name); } function addName(name) { if ...
- date 命令 时间戳到标准格式转换
1. 知道时间戳看标准时间, 时间戳到 秒: Wed Apr :: CST 2. 看到前时间时间戳格式 date +%s 3. 知道某个标准时间, 看时间戳 date -d "Wed Apr ...
- p1199八数码问题
oj上简化的八数码问题,最强的数据仅仅是20步: 根据曼哈顿距离构造启发函数: 主算法:IDA*:(使用方法好像不太对......) 未用位运算优化: #include<iostream> ...
- adb client, adb server, adbd原理浅析(附带我的操作过程)【转】
本文转载自:http://blog.csdn.net/stpeace/article/details/24933813 adb是什么? adb就是Android调试桥,很形象啊. 先来看adb原理的逻 ...
- RedisCluster集群原理
主从复制,数据值每个服务器都存了. 针对redis集群的解决方案, 连接这个集群,不用在乎Master了 6台redis 1.why use Redis? 减轻数据库访问压力 2.持久化 RDB(间隔 ...
- Parameter 'username' not found. Available parameters are [1, 0, param1, param2]
只要把dao层的***Mapper.java代码的参数加上@param 才可以 修改前的代码 public User selectLogin(String username,String passwo ...