创建数据库
1
|
create database dbname;
|
删除数据库
1
|
drop database dbname;
|
选择数据库
1
|
use dbname;
|
创建表
1
|
CREATE TABLE IF NOT EXISTS `book`(
|
- AUTO_INCREMENT定义列为自增的属性,默认自增1,一般用作主键
- NOT NULL指定该字段不能为空, 在操作数据库时如果输入该字段的数据为NULL ,就会报错
- PRIMARY KEY关键字用于定义列为主键
- ENGINE 设置存储引擎
- CHARSET 设置编码
- INDEX设置列为普通索引、也可以使用UNIQUE指定唯一索引、 FULLTEXT指定全文索引
添加表字段
1
|
alter table book add press varchar;
|
删除表字段
1
|
alter table book drop press;
|
修改表字段
1
|
alter table book modify press char;
|
查看表结构
1
|
show columns from book;
|
修改表名
1
|
alter table book RENAME TO book1;
|
删除表
1
|
drop table book;
|
创建索引
1
|
create index title_index ON book(title(100));
|
删除索引
1
|
drop index title_index ON book;
|
插入数据
1
|
insert into book values(值1,值2,....);#值的顺序与字段在表中的顺序一致
|
修改表数据
1
|
update table set title='学习笔记',date='2019-05-21'
|
删除表数据
1
|
truncate table book;#删除表中所有数据
|
查询
1
|
select * from book;
|
常用函数
1
|
character_length("title") #字符串title的字符数
|
case when
1
|
CASE expression
|
IF
1
|
IF(expr,v1,v2)#如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2。
|
IFNULL
1
|
IFNULL(v1,v2)#如果 v1 的值不为 NULL,则返回 v1,否则返回 v2
|
去除结果集中的重复元素
1
|
select distinct(title) from book;
|
模糊查询
1
|
select * from book where title="Java%";
|
合并结果集
1
|
select title from book1 union select title from book2
|
连接(left jion/right jion/jion/逗号)
1
|
select * from book1 left jion book2 where xx=yy
|
分组
1
|
select count(*) from book group by author ='Java学习录'
|
排序
1
|
select * from book order by date ASC#默认就是ASC 可省略,按date升序排列
|
分页
1
|
select * from table limit 5; #返回前5行
|