mySQL 命令

[命令的组成]

-) DML(数据操作语言){插入、删除、修改}
-) DCL(数据控制语言){存取许可、存取权限}
-) DQL(数据查询语言){查询}
-) DDL(数据定义语言){建立数据库、数据库对象、定义表的列}
 
 

[运算符]

-) 数学
-) + - * / % 
-) 比较
-) = : 等于
-) > : 大于
-) < : 小于
-) <>: 不等于
-) >=: 大于等于
-) <=: 小于等于
-) !=: 不等于
-) like    : 模糊比较,跟通配符配合
-) is null : 是空,未初始化过的,跟a=''有区别
-) between : 在两者范围之间,跟and配合,例如:a between 60 and 80
-) in      : 跟任意条件吻合均可,跟()配合,例如:a in('北京','广州','上海')
-) 逻辑
-) and : 并且
-) or  : 或者
-) not : 非
 

[通配符]

-) _ : 一个任意字符
-) % : 任意长度的字符串
-) []: 范围内的任意一个字符,例如[1-3]
-) [^]: ^非的意思

[列的数据类型]

-) 数值

类型

字节数值范围
tinyint(a) 1-128~127 0~255
smallint(a)2-32768~32767 0~65535
mediumint(a)3-8388608~8388607 0~16777215
int(a)4-2147683648~2147683647
bigint(a)8-9223372036854775808~9223373036854775807 0~18446744073709551615
float(a,b)4±1.175494351e-38
double(a,b)8±2.2250738585072014e-308
decimal(a,b)自定义值取决于a~b的字节数
-) 字符<串>
类型最大字节自定义字节说明
char(a)a  
varchar(a)a0~a空间自动分配
tinyblob28-1  
blob216 -1  
mediumblob224-1  
longblob232-1  
tinytext   
text216 -1  
mediumtext   
longtext   
enum65535 个成员  
set64个成员  
-) 时间
类型字节数取值范围说明
data3“1000-01-01”到“9999-12-31”YYYY-MM-DD
time3“-838:59:59”到“838:59:59”hh:mm:ss
datatime8“1000-01-01 00:00:00” 到“9999-12-31 23:59:59”YYYY-MM-DD hh:mm:ss
timestamp419700101000000 到2037 年的某个时刻YYYYMMDDhhmmss
year11901 到2155YYYY
-) null

[数据库服务器]

-) 登陆服务器
-) mysql -A-Ab c: 登陆到服务器
A{-u、-p、-h}:-u:账户,-p:登陆密码,-h:主机名称
a{root、grusirna}:账号
b{123456、null}:登陆密码
c{mysql、school}:要访问的数据库
-) 服务器状态管理
-) service A
a{mysql、oracle}:服务名称
A{ service:服务管理、start:启动、stop:停止、status:状态、restart:重启 }
-) 创建服务器账户
-) grant a on b to 'c'@'d' identified by 'e' with grant option;  :grant方式创建,推荐``
a{all、all privileges、select、insert、update、delete、create、drop}:权限类型
b{*.*、mysql.*}:数据库名称
c{'inter'、'grusirna'}:账户名称
d{'localhost'、'%'}:主机名称
e{'123456'、'ccg'}:账户密码
#示例
grant all privileges on *.* to 'grusirna'@'localhost' 
identified by '123456' with grant option;
-) insert into user(Host,User,Password) values('a','b',PASSWORD('c'));添加用户,insert方式创建
a{'localhost'、'%'}:主机名称
b{'inter'、'grusirna'}:账户名称
c{'12345'、'cgg'}:账户密码
`` insert into db(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv)
`` values('a','b','c','d','d','d','d','d','d');
a{'localhost'、'%'}:主机名称
b{*.*、mysql.*}:数据库名
c{'inter'、'grusirna'}:账户名称
d{'Y'、'N'}:是否赋予权限,Y表示yes,N表示no
`` flush privileges; : 重载授权表
#示例
insert into user(Host,User,Password)
values('localhost','grusirna',PASSWORD('123456');
insert into db(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv)
values('localhost','shool','grusirna','Y','Y','Y','Y','Y','Y');
-) 修改服务器默认的数据库存放位置
-) 打开/etc/my.cnf,修改datadir为自定义位置



[数据库]

-) 查询所有数据库
-) show databases;           : 查询所有数据库
-) 查询当前的数据库
-) select database();        : 查询当前的数据库
-) 选择数据库
-) use a;                 : 使用数据库
a : 数据库名
-) 创建数据库
-) create database a;     : 创建数据库
a : 数据库名
-) 删除数据库
-) drop database a;       : 删除数据库
a : 数据库名

[表]

-) 查询所有表
-) show tables;              : 查询当前数据库中的所有表
-) 创建表
-) create table a
(
    b c(d) not null primary key auto_increment default 'e',
);  : 创建表
解释如下:
a                           :  表名
b                           :  字段
c                           :  字段类型
d                           :  类型长度
not null                :  是否允许为空,默认不写则为空
primary key         : 是否主键,默认不写为否
auto_increment : 自动增加,默认不写为否
default 'value'      : 默认值
-) 删除表
-) drop table a;          : 删除一个名为name的表,需要有drop权限


[记录]

-) 查询单表记录
-) select h a+a as e,e=a+a  from b where a=c  group bya havinga order by a d ; 查询表数据
a : 字段或字段表达式
b : 表
c : 字段值
d{asc、desc} : 升序(缺省)或降序
e : 另起名
h{top 5、top 20 percent} : 限制记录数

查询关键字的区别:
where子句      :用来筛选from子句中指定的操作所产生的行
group by 子句 : 用来分组where子句的输出
having子句      :用来从分组的结果中筛选行
-) 查询多表记录
-) select a from b inner joinc ond  
a : 查询的列
b : 表
c : 另外的表
d : 两表的匹配行
inner join{left join、right outer join}
例如:
select S.SName,C.CourselD,C.Score
from Score as C
inner join Student as s
on C.StudentID = S.SCode

-) select a from b where d
a : 查询的列的集合,逗号隔开
b : 表的集合,逗号隔开
d : 多表的匹配行,逗号隔开
例如:
select Student.SName,Score.CourselD,Score.Score
from Students,Score
where Students.SCode = Score.StudentID

-) 插入记录
-) insert into a(b,b) value(c,c) : 插入一条记录
a : 表
b : 表中的字段
c : 字段的值
-) insert into a(b,b) select c,c from d  : 把其他表的数据插入到当前表
a : 表
b : 表中的字段
c : 其他表的字段
d : 其他表
-) 修改记录
-) update set b='c',b='c' where d=e   :根据条件更新字段
a : 表名
b : 字段(修改)
c : 字段值
d : 字段(条件)
e : 字段值(条件)
-) 删除记录
-) delete from a where b= c : 根据条件删除指定记录
a : 表名
b : 字段
c : 字段值
-) truncate table a  : 删除整个表的记录
a : 表名


[字段]

-) 字段约束
-) alter table a add constraint b c( d) references a( d); 添加约束
a : 表
b {pk、uq、df、ck}: 约束名
c {primary key、unique、default、check、foreign key}: 约束类型
d : 字段
-) alter table a drop constraint b ; 删除约束
a :表
b : 约束名
-) 字段属性查看
-) desc a; 列的属性
a : 表名
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值