一、数据库的操作
1.数据库的创建
create database if not exists database_name;
database_name是自己定义的数据库名
在MySql的中,不区分字母大小写,每条SQL语句都要用英文 ; 结尾。
上面SQL语句中的if not exists 是为了防止创建相同数据库名的数据库,会创建失败。
2.数据库的删除
drop database if exists database_name;
3.显示数据库
show databases;
4.使用数据库
use database_name;
必须先use了数据库才能进行下面的表的操作。
二、表的操作
1.创建表
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
);
这里的table_name是表名,field是字段名,datatype是字段类型,SQL中名称在前类型在后,这是与java等语言变量定义不同的地方。
SQL中数据类型和运算符:
2.删除表
drop table if exists table_name;
3.查看表
desc table_name;
三、字段的CRUD(增删查改)
1.新增字段
insert into table_name values (value1, value2, value3);
这里的value代表字段值,必须一一对应,当然也可以使用只对指定列新增。
insert into table_name (field1, field2) values (value1, value2);
也可以同时新增多条数据,同样需要一一对应。
insert into table_name values (value1, value2, value3),
(value1, value2, value3) ....;
2.删除字段
delete from table_name where ...;
这里的where后面跟删除的条件,比如删除Student表中name为张三的字段。
delete from student where name = "张三";
3.修改字段
update table_name set field1 = value1, field2 = value2.... where...;
举例:将name为张三的学生的id修改为66。
update student set id = 66 where name = "张三";
4.查询字段
select field1, filed2.... from table_name;
如果要查询所有列,可以使用 * :
select * from table_name;
4.1 条件查询
select也可以跟条件即where,如:查询student表中80分以上的学生:
select * from student where score > 80;
4.2 查询字段为表达式
查询Student表的学生的id,name,语数外成绩总和:
select id, name, chinese + math + english from student;
4.3 为查询结果指定别名
与上面条件一样,但将三门成绩和命名为total:使用as关键字
select id, name, chinese + math + english as total from student;
4.4 去重
使用distinct关键字去重,使结果都不相同。
SELECT math FROM exam_result;
4.5 排序
使用order by关键字对结果进行排序
select * from table_name order by field_name asc; --升序,如果不加asc,默认也是升序
select * from table_name order by field_name desc; --降序
4.6 分页查询
使用limit关键字限制查询的个数
--从下标0开始查询n个结果
select * from table_name (where...) (order by...) limit n;
--从下标m开始查询n个结果
select * from table_name (where...) (order by...) limit m,n;
--与上一种相同
select * from table_name (where...) (order by...) limit m offset n;