MySQL 数据库 表 字段 均可设置编码,数据编码与客户端编码不需一致 语法: Union [DISTINCT]:distinct为默认方式可不写,对两个结果集进行并集操作,不包括重复行即返回所有行都是唯一的,同时进行默认规则的排序; 1)from型 1)内连接(inner join)文章目录
一.命令行指令
net start mysql
mysql -h 地址 -P 端口 -u 用户名 -p 密码
二.数据库操作
select databases;
select now() ,user() ,version() ;
create database [if not exists] 数据库名 数据库选项
CHARACTER SET charset_name
COLLATE collation_name
show databases;
show create database 数据库名
alter database 库名 选项信息
drop database [ if exists] 数据库名
三.表操作
create [temporary] table [if not exists] [库名.]表名 (表的结构定义) [表选项]
SHOW TABLES [LIKE 'pattern']
,SHOW TABLES FROM 库名
SHOW CREATE TABLE 表名
或 DESC 表名
ALTER TABLE 表名 表选项
, 例子:ALTER TABLE 表名 ENGINE = MYISAM;
RENAME TABLE 原表名 TO 新表名
ALTER TABLE 表名 操作名
,有如下操作名:
操作名
说明
ADD [COLUMN] 字段名 字段类型
增加字段
ADD PRIMARY KEY(字段名)
增加主键
ADD UNIQUE [索引名] (字段名)
创建唯一索引
ADD INDEX [索引名] (字段名)
创建普通索引
DROP[ COLUMN] 字段名
删除字段
MODIFY[ COLUMN] 字段名 字段属性
支持对字段属性进行修改
CHANGE[ COLUMN] 原字段名 新字段名 字段属性
支持对字段名进行修改
DROP PRIMARY KEY
删除主键
DROP INDEX 索引名
删除索引
DROP FOREIGN KEY
删除外键
DROP TABLE [IF EXISTS] 表名
DELETE FROM 表名 [where ...];
,不会清空自增TRUNCATE [TABLE] 表名
,清空所有数据,不能带条件,会清空自增CREATE TABLE 表名 LIKE 要复制的表名
CREATE TABLE 表名 [AS] SELECT * FROM 要复制的表名
四.数据操作
INSERT [INTO] 表名 [(字段列表)] VALUES(值列表) [,(值列表),...]
DELETE FROM 表名 [删除条件子句]
,没有删除条件子句会删除这个表所有的数据UPDATE 表名 SET 字段名 = 新值 [,字段名2 = 新值...] [更新条件]
五.字符集编码
SHOW VARIABLES LIKE 'character_set_%'
: 查看所有字符集编码
character_set_client
: 客户端向服务器发送数据时使用的编码
character_set_results
: 服务器端将结果返回给客户端时使用的编码
character_set_connection
:连接层编码
SET 变量名 = 变量值;
:如下,
SET character_set_client = gbk;
SET character_set_results = gbk;
SET character_set_connection=gbk;
SET NAMES gbk;
相当与上面三条语句执行六.数据查询语句
SELECT [ALL|DISTINCT] select_expr from ->where ->group by [合计函数] ->having ->order by ->limit
SELECT amount,1+2,NOW() FROM a;
select * from a,b;
操作符名称
语法
描述
AND 或 &&
a AND b 或 a && b
逻辑与,同时为真才为真
OR 或||
a OR b 或 a || b
逻辑或,一个为真则为真
NOT 或!
NOT a 或 !a
逻辑非,若操作数为假,结果则为真
IS NULL
a IS NULL
若操作符为NULL,则结果为真
IS NOT NULL
a IS NOT NULL
若操作符不为NULL,则结果为真
BETWEEN
a BETWEEN b AND c
若a范围在b与c之间则结果为真
LIKE
a LIKE b
SQL模式匹配,若a匹配b,则结果为真,其中通配符
%
代表0或多个字符,_
代表一个字符
IN
a IN (a1,a2,a3,….)
若a等于a1,a2…中的某一个,则结果为真
exists
exists(select * from a)
只要子句中结果大于等于1行则结果就为真
ASC
,降序:DESC
count()
返回不同的非NULL值数目,如count(*),count(1),count(字段)sum()
求和max()
求最大值min()
求最小值avg()
求平均值group_concat()
返回一个带有来自一个组的连接的非NULL值的字符串结果,为组内字符串连接注:SQL标准要求having子句必须引用group by 子句中的列或用于聚合函数中的列
limit 起始位置, 获取条数
limit 获取条数
(表示直接从第一条数据(索引为0)开始)七.多表连接查询
1.union:
SELECT ... UNION [ALL|DISTINCT] SELECT ...
Union All:对两个结果集进行并集操作,包括重复行,不进行排序;
注:建议对每个select查询加上小括号.需要各select查询的字段数量一样,即每个select查询的字段列表(数量,类型)应该一致,因为结果中的字段名以第一条select语句为准
2.子查询,需要用括号括起来
from要求后面是一个表,必须给子查询结果取个别名,简化每个查询内的条件
例如:select * from (select * from a where id>0) b;
2)where型
子查询返回一个值不需要给子查询取别名
例如:select * from a where money = (select max(money) from a);
3)列子查询
使用in或not in子查询,查询结果返回单列
使用exists和 not exists条件,返回1或0,常用于判断条件,例如:select column1 from t1 where exists (seelct * from t2);
3.join连接查询:将多个表的字段进行连接,可指定连接条件
默认就是内连接,可省略inner
只有数据存在时才可发送连接请求,即连接结果不能出现空行,on表示连接条件,其表达式与where类似
2)交叉连接(cross join)
没有条件的内连接,例如:select * from a cross join b;
3)外连接(outer join)
如果数据不存在,也会出现在连接结果中包括左外连接和右外连接
注:可省略outer,但不能省略left或right,在关键字左边的为左表,在右边的为右表
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算