mysql数据库sql语法参考_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。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值