一、表的创建
关键部分:表的名称、列的名称、列的数据类型。
基本语法:
create table table_name (column_name column_type);
实例1:
-- 创建表
use testone;
create table grocery_inventory(
id int not null primary key auto_increment,
item_name varchar(5) not null,
item_desc text,
item_price float not null,
curr_qty int not null
);
注:auto_increment 作为字段属性,标示自增长
二、使用Insert命令
Insert的基本语法:
insert into table_name (column list) values(column values);
在括号中的值列表中,我们必须使用引号括起来字符串。Sql 标准是单引号,但MySql允许使用单引号或者双引号。如果引号在字符串本身之中,别忘了所用的引号的类型进行转义。
提示:整数不需要使用引号括起来。
下面是一个需要转义的字符串的例子。
0‘Connor said "Boo"
如果我们把字符串放入到双引号中,Insert 语句将会如下所示。
insert into table_name (column_name) values("0'Connor said \"Boo\"");
如果我们把字符串放入到单引号中,Insert语句将会如下所示。
insert into table_name (column_name) values('0\'Connor said "Boo"');
实例1:
-- 使用insert 命令
insert into testone.grocery_inventory
(
id,item_name,item_desc,item_price,curr_qty
)
values ('1','苹果苹果苹','Beautiful,ripe apples.','0.25',1000);
insert into testone.grocery_inventory
values ('3','bunch','Seedless grapes.','2.99',500);
-- 插入所有列数据,为自增长列指定 null
insert into testone.grocery_inventory values (null,'bunc3','Seedless grapes.','4',400);
-- 不指定自增长列名
insert into testone.grocery_inventory
(
item_name,item_desc,item_price,curr_qty
)
values ('gray','lay lay la','3',700);
-- MySql auto_increment 列,必须要指定内容,才可以添加数据,如果是定对应的数字,添加的记录中显示对应的数字,如果需要自动增长则指定null
insert into testone.grocery_inventory values ('bunc4','Seedless grapes.','4',400);
最基本的select 语法如下所示。
SELECT expressions_and_columns FROM table_name
[WHERE some_condition_is_true]
[ORDER BY some_column [ASC | DESC]]
[LIMIT offset,rows]
实例1:
-- 查询数据
select * from testone.grocery_inventory;
-- 指定别名查询
select *,100 as 张三 from testone.grocery_inventory;
1. 排序Select结果
Order By 默认的排序是升序(Asc),字符串排序是从A到Z,整数顺序是从0开始,日期顺序是从最早的日期到最近的日期。也可以指定一个降序,使用Desc,实例:
-- 排序select 结果
select * from testone.grocery_inventory order by item_name;
select * from testone.grocery_inventory order by item_price desc;
2. 限制结果
可以使用 Limit 子句来从Select查询结果中返回一定数目的记录。使用Limit的使用可以有两个参数:偏移量和行数。偏移量是起始位置,而行数应该是自索命的。偏移量不指定默认为0.
-- 限制结果
select * from testone.grocery_inventory order by curr_qty desc limit 2;
select * from testone.grocery_inventory order by curr_qty desc limit 1,2;
四、在查询中使用Where
select * from testone.grocery_inventory where curr_qty=500;
1.在Where子句中使用操作符
操作符:=、<、>、!= 、<=、 >=
还有一个叫做Between的方便的操作符,它在比较整数或数据的时候很有用,因为它搜索位于一个最小值和最大值之间的结果(包括临界值),示例如下:
select * from testone.grocery_inventory where curr_qty between 500 and 1000;
还有其他的操作符,逻辑操作符 And和Or
2. 使用Like 比较字符串
这个操作符在模式匹配中可以使用如下两个字符作为通配符。
- %----------匹配多个字符
- _-----------匹配一个字符
select * from testone.grocery_inventory where item_name like 'b%';
提示:除非在一个二进制字符串上执行一个like比较,否则这个比较总是不区分大小写的。我们可以使用Binary 关键词来强制执行一个区分大小写的比较。