SQL操作
创建数据库
--- 创建数据库
create database `school`;
--- 使用数据库
use `school`;
创建表
use `school`;
-- id 设置为主键
-- samllint 可以优化存储
-- not null 表示不可以为空
create table `students` (
`id` int not null auto_increment primary key,
`name` varchar(20) not null ,
`nickname` varchar(20) null ,
`sex` smallint null ,
`in_time` datetime null
);
其中id设置为主键,并且是可以自动增长的,name是不可以为空的。
插入数据
-- 插入数据
insert into `students` value (1, '张三', '三哥',1, now());
但是如果重复的执行就会报错,这是因为已经存在id为1的记录了。
insert into `students` (`name`,`nickname`,`sex`,`in_time`) values ('张三2','三哥2',1,now());
这样插入sql中的id会自动的增长。
插入多条数据
insert into `students` (`name`,`nickname`,`sex`,`in_time`)
values ('张三2','三哥2',1,now()),
('张三3','三哥3',0,now()),
('张三4','三哥4',0,now());
查询语句
标准的查询语句
SELECT
select_expr,
FROM table_references
[WHERE where definition]
[GROUP BY {col_name | expr | position}]
[HAVING where_definition]
[ORDER BY {col_name | expr | position}] [ASC|DESC]
[LIMIT {[offset,] row_count}]
其中[]表示可选项
查询字段
select * from students;
从students中查询所有的结果。
select name,nickname from students;
只查询name和nickname
select name,nickname,sex from students where sex=1;
限制条件
查询所有sex=1的记录
select name,nickname,sex from students where sex=1 order by id desc ;
排序
按照id倒叙排序
上面的条件都要按照顺序执行
select name,nickname,sex from students where sex=1 order by id desc LIMIT 0,2;
LIMIT分页
LIMIT实现翻页的顺序,其中第一个参数为页数,第二个为每页的记录。
[
select id,name,nickname,sex from students where sex=1 order by id desc LIMIT 1,2;
这是第二页的数据
修改
UPDATE table_references
SET col_name1 = expr1 [,col_name2 =expr2]
[WHERE where_definition
将所有的sex=1该为sex=0
UPDATE students set sex=0 where sex=1;
删除
DELETE FROM tab_name
[WHERE where_definition]
删除所有的sex=1的
delete from students where sex = 1;
记住要加条件
其他
- 新建索引 (CREATE INDEX)
- 修改表 (ALTER TABLE)
- 删除数据库、表、索引、视图等(DROP)
设计
设计一个新闻表
- ID 新闻的唯一标示
- title 新闻的标题
- content 新闻的内容
- create_time 新闻添加的时间
- type 新闻的类型
- image 新闻缩略图
- author 作者
- view_count 浏览量
- is_valid 是否有效
创建数据库
create database `news`
创建表
create table `news` (
id int not null auto_increment,
title varchar(200) not null ,
content varchar(2000) not null ,
types varchar(10) not null ,
image varchar(300) null ,
author varchar(20) null,
view_count int default 0,
create_time datetime null ,
is_valid smallint default 1,
primary key (id)
) default charset ='UTF8'