SQL笔记--第一章
2013-07-31 22:08
197 查看
2014-05-18
mysql -h host_name - u user_name -p
select now(), user(), version();
select \c; 放弃当前输入
create database samp_db;
select database(); 显示当前使用的数据库
use samp_db; 无需终结符
create table tbl_name (column_specs);
create table tbl_name
(
suffix VARCHAR(5) NULL,
birth DATE NOT NULL,
expiration DATE NULL DEFAULT "0000-00-00",
sex ENUM("MAN", "WOMAN") NOT NULL,
student_id int unsigned not null auto_increment primary key,
primary key (sex, birth), //组合
);
describe tbl_name; = show columns from tbl_name;
show tables;
show databases;
insert into tbl_name values('aa', 'm', NULL) () ()
//必须包含表中每列值,并按表中列存放次序给出。允许插入多行
insert into tbl_name (col_name1, col_name2, ...) VALUES (value1, value2, ...)
insert into tbl_name set col_name1=value1, col_name2=value2
load data local infile "member.txt" into table tbl_name;//装载数据以TAB键分离,并且只能以“\N”换行(对于枚举类型)
select * from tbl_name;//显示表内容
is NULL 等价于 <=> NULL
is not null
排序 order by col_name ASC 升序 DESC 降序 缺省升序
limit num 只显示num行
limit num1, num2 显示num1+1至num1+num2+1行
order by rand() limit 1
------------------------2014-5-19
format(data, N) 格式化data的小数位数为N
sqrt() 求开方
concat(col_name1, "aa", col_name2) 连接
as name 重命名
year()
month() == monthname()
dayofmonth()
current_date 当前日期变量
floor() 向下取整函数
to_days() 求天数
date_add("1900-1-1", interval 10 year)
date_sub("1900-1-1", interval 1 day)
模式匹配 _ 任意单个字符 % 作任意0或多个字符
like
not like
distinct
count(*) 求行数
count(col_name) 只对非NULL值进行计数
count(distinct col_name) 非重复且非NULL值进行计数
group by col_name 聚集,常与count一起用,先group后count
having 查询结果已经选出后才应用
min()
max()
sum()
avg()
----------2014-5-20
select tb1.id, count(tb2.date) from tb1 left join tb2 on tb1.id = tb2.id group by tbl.id
join = inner join 同where
left join 右表中没有匹配,也从左表返回所有的行
right join
full jion
dayofyear()
可连接同一表,用命名实现
select p1.la from tb as p1, tb as p2 where p1.a = p2.a and p1.b != p2.b
delete from tbl where col = "aa"
update tb SET col = "aa"
对表重新命名,增加或删除列,更改列的类型 alter table tbl add col int unsigned
选项文件 win my.ini linux .my.cnf
[client]
host=serverhost
user=yourname
password=yourpass
---------2014-5-27
ctrl-K 删除水标到行尾的所有字符
mysql -t 交互式地运行MYSQL
cat > data.txt
第一章看完
mysql -h host_name - u user_name -p
select now(), user(), version();
select \c; 放弃当前输入
create database samp_db;
select database(); 显示当前使用的数据库
use samp_db; 无需终结符
create table tbl_name (column_specs);
create table tbl_name
(
suffix VARCHAR(5) NULL,
birth DATE NOT NULL,
expiration DATE NULL DEFAULT "0000-00-00",
sex ENUM("MAN", "WOMAN") NOT NULL,
student_id int unsigned not null auto_increment primary key,
primary key (sex, birth), //组合
);
describe tbl_name; = show columns from tbl_name;
show tables;
show databases;
insert into tbl_name values('aa', 'm', NULL) () ()
//必须包含表中每列值,并按表中列存放次序给出。允许插入多行
insert into tbl_name (col_name1, col_name2, ...) VALUES (value1, value2, ...)
insert into tbl_name set col_name1=value1, col_name2=value2
load data local infile "member.txt" into table tbl_name;//装载数据以TAB键分离,并且只能以“\N”换行(对于枚举类型)
select * from tbl_name;//显示表内容
is NULL 等价于 <=> NULL
is not null
排序 order by col_name ASC 升序 DESC 降序 缺省升序
limit num 只显示num行
limit num1, num2 显示num1+1至num1+num2+1行
order by rand() limit 1
------------------------2014-5-19
format(data, N) 格式化data的小数位数为N
sqrt() 求开方
concat(col_name1, "aa", col_name2) 连接
as name 重命名
year()
month() == monthname()
dayofmonth()
current_date 当前日期变量
floor() 向下取整函数
to_days() 求天数
date_add("1900-1-1", interval 10 year)
date_sub("1900-1-1", interval 1 day)
模式匹配 _ 任意单个字符 % 作任意0或多个字符
like
not like
distinct
count(*) 求行数
count(col_name) 只对非NULL值进行计数
count(distinct col_name) 非重复且非NULL值进行计数
group by col_name 聚集,常与count一起用,先group后count
having 查询结果已经选出后才应用
min()
max()
sum()
avg()
----------2014-5-20
select tb1.id, count(tb2.date) from tb1 left join tb2 on tb1.id = tb2.id group by tbl.id
join = inner join 同where
left join 右表中没有匹配,也从左表返回所有的行
right join
full jion
dayofyear()
可连接同一表,用命名实现
select p1.la from tb as p1, tb as p2 where p1.a = p2.a and p1.b != p2.b
delete from tbl where col = "aa"
update tb SET col = "aa"
对表重新命名,增加或删除列,更改列的类型 alter table tbl add col int unsigned
选项文件 win my.ini linux .my.cnf
[client]
host=serverhost
user=yourname
password=yourpass
---------2014-5-27
ctrl-K 删除水标到行尾的所有字符
mysql -t 交互式地运行MYSQL
cat > data.txt
第一章看完
相关文章推荐
- oracle 更改时间类型的默认显示方式(从实践中学习Oracle SQL学习笔记 第一章)
- mysql必知必会——第一章了解sql笔记
- SQL必知必会 笔记 第一章 了解SQL
- SQL笔记-第一章,数据库入门
- SQL笔记第一章
- SQL 学习笔记第一章
- (笔记)《SQL 2005 技术内幕 T-SQL查询》第一章 逻辑查询处理
- SQL笔记(1)_第一章 SQL概念综述
- oracle开发之<<SQL Cookbook>>学习笔记整理:第一章 检索记录
- 【MySQL笔记】MySQL使用索引的场景及真正利用索引的SQL类型
- pl/sql基础知识学习笔记(三)
- C#制作ORM映射学习笔记二 配置类及Sql语句生成类
- 韩顺平玩转oracle之pl/sql听课笔记 《一》
- linux shell脚本攻略 学习笔记1 -- 第一章 小试牛刀
- SQL学习笔记:常用SQL语句操作
- SQL 函数及其应用笔记
- Oracle PL/SQL语句基础学习笔记(上)
- metasploit魔鬼训练营第一章笔记
- sql笔记
- 黑马程序员之SQL server基础学习笔记(三)