MySQL命令行
2016-08-08 11:14:42 0 举报
AI智能生成
登录查看完整内容
mysql
作者其他创作
大纲/内容
MySQL命令行
登录
mysql -h localhost -u 用户名 -p 密码
主机默认连localhost
声明字符集 set names 字符集名
基本
操作库
基本操作
show databases;
create database 名字;
use 库名;
drop database 库名
库名不能改!
操作表
show tables;
create table 表名(列1 列属性,列2 列属性,...)engine 存储引擎charset 字符集
rename table 旧表命 to 新表名
drop table 表名
desc 表名
insert into 表名(列名列表)values(行值)(行值);
增行
delete from 表名where 表达式
删行
tinyint unsigned
修改
alter table class add age2 tinyint unsigned;
增加一列
查找行用where,查找列用select
表前缀:当在一个语句中,出现两个表中的同名字段,则可在字段前面加表前缀
Tinyint 1字节;Smallint 2;MediumInt 3; Int 4; BigInt 8;默认有符号,可通过改变列属性来改变设置
char(M):定长,实占M个字符,不够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
列属性
数据类型
in<集合>:在集合内
between 值1 and 值2 :在值1和值2之间,允许等于两个边界
and,or,not&&,||,|
%通配所有字符
_通配一个字符
like '带通配符的模糊字符'
表达式
where 表达式注:where在select时,对表起作用,而非对结果起作用
max(列名)
min(列名)
sum(列名)
avg(列名)
count(列名)
将列名当变量来看;
统计函数
group by 列名注:该函数应该与统计函数一起用。非统计函数的行,取该group第一个元素的内容作为代表。
having注:在select时是对结果起作用,起到对结果进步一筛选的作用
默认为升序;asc声明为升序;desc声明降序;
按列1--》列2...顺序排序
order by 列1[asc/desc],列2[asc/desc]
offset:跳过前offset行,默认0
N:取出的条目数
limit 【offset】N 在语句的最后,起到限制条目的作用
1.子句顺序如上2.where 表达式,把表达式放在行中,看表达式是否为真。3.可以理解成变量。4.取出结果:可以理解成一张临时表。
select 列 from msg + 子句
查
内层的查询结果当做外层的比较条件
where型
将内层结果当成一张临时表,需要加ad 临时表名,供外层继续查询
from型
外层的查询结果可拿到内层,看内层的查询是否成立,成立则该外层结果被取出。select * from category where exists(select * from goods where good.cat_id = category.cat_id)
exists
嵌套查询看作嵌套for循环
子查询,即嵌套select
0 条评论
回复 删除
下一页