创建数据库
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行 |