MySQL命令行
2016-08-08 11:14:42 0 举报
AI智能生成
mysql
作者其他创作
大纲/内容
登录
mysql -h localhost -u 用户名 -p 密码
主机默认连localhost
基本
声明字符集 set names 字符集名
操作库
基本操作
show databases;
create database 名字;
use 库名;
drop database 库名
库名不能改!
操作表
删行
基本操作
show tables;
create table 表名(
列1 列属性,
列2 列属性,
...
)
engine 存储引擎
charset 字符集
列1 列属性,
列2 列属性,
...
)
engine 存储引擎
charset 字符集
rename table 旧表命 to 新表名
drop table 表名
desc 表名
增行
insert into 表名
(列名列表)
values
(行值)
(行值);
(列名列表)
values
(行值)
(行值);
删行
delete from 表名
where 表达式
where 表达式
修改
tinyint unsigned
update 表名
set
id = 1,
content = 'xxx'
where 表达式(选择使表达式为真的行为update的目标)
set
id = 1,
content = 'xxx'
where 表达式(选择使表达式为真的行为update的目标)
增加一列
alter table class add age2 tinyint unsigned;
查找行用where,查找列用select
表前缀:当在一个语句中,出现两个表中的同名字段,则可在字段前面加表前缀
数据类型
Tinyint 1字节;Smallint 2;MediumInt 3; Int 4; BigInt 8;
默认有符号,可通过改变列属性来改变设置
默认有符号,可通过改变列属性来改变设置
float(M.D),
decimal(M.D)
(M,D)表示(总数值位数,小数点后位数)
decimal(M.D)
(M,D)表示(总数值位数,小数点后位数)
char(M):定长,实占M个字符,不够M个字符,尾部用空格补齐。取出时,将尾部的所有空格(不论是用户真实输入的还是自动补齐的)均忽略。
varchar(M):变长,最多实占M个字符+(1-2)个字节用于计数实际使用了多少个【字节】。
M:代表最大可容纳的【字符】数,不是字节数。不同的编码,一个字符所需要的字节不同。
varchar(M):变长,最多实占M个字符+(1-2)个字节用于计数实际使用了多少个【字节】。
M:代表最大可容纳的【字符】数,不是字节数。不同的编码,一个字符所需要的字节不同。
text
日期时间类型
year:1个字节,1901-2155
date:1000-01-01--》9999-01-01
hh:mm:ss -853:59:59-->853:59:59
datetime
时间戳:1970-01-01 00:00:00 到当前的秒数,用int存储
列属性
声明默认值 not null defualt 0/not null default ''
零填充tinyiny(M)+zerofill
查
select 列 from msg + 子句
where 表达式
注:where在select时,对表起作用,而非对结果起作用
注:where在select时,对表起作用,而非对结果起作用
表达式
in<集合>:在集合内
between 值1 and 值2 :在值1和值2之间,允许等于两个边界
and,or,not
&&,||,|
&&,||,|
like '带通配符的模糊字符'
%通配所有字符
_通配一个字符
group by 列名
注:该函数应该与统计函数一起用。
非统计函数的行,取该group第一个元素的内容作为代表。
注:该函数应该与统计函数一起用。
非统计函数的行,取该group第一个元素的内容作为代表。
统计函数
max(列名)
min(列名)
sum(列名)
avg(列名)
count(列名)
将列名当变量来看;
having
注:在select时是对结果起作用,起到对结果进步一筛选的作用
注:在select时是对结果起作用,起到对结果进步一筛选的作用
order by 列1[asc/desc],列2[asc/desc]
默认为升序;
asc声明为升序;
desc声明降序;
asc声明为升序;
desc声明降序;
按列1--》列2...顺序排序
limit 【offset】N
在语句的最后,起到限制条目的作用
在语句的最后,起到限制条目的作用
offset:跳过前offset行,默认0
N:取出的条目数
1.子句顺序如上
2.where 表达式,把表达式放在行中,看表达式是否为真。
3.可以理解成变量。
4.取出结果:可以理解成一张临时表。
2.where 表达式,把表达式放在行中,看表达式是否为真。
3.可以理解成变量。
4.取出结果:可以理解成一张临时表。
查的结果都是变量,查询看做对每行作for循环
子查询,即嵌套select
where型
内层的查询结果当做外层的比较条件
from型
将内层结果当成一张临时表,需要加ad 临时表名,供外层继续查询
exists
外层的查询结果可拿到内层,看内层的查询是否成立,成立则该外层结果被取出。
select * from category where exists(select * from goods where good.cat_id = category.cat_id)
select * from category where exists(select * from goods where good.cat_id = category.cat_id)
嵌套查询看作嵌套for循环
0 条评论
下一页
为你推荐
查看更多