以课程表(course)为例
#创建数据库
#create database 数据库名 character set utf8
create database test character set utf8
#修改数据库
#alter database 数据库名 charactor set GBK
alter database test character set GBK
#创建表
drop table if exists course;
create table course ( #课程表
id bigint, #课程id
Cno bigint, #课程编号
Cname VARCHAR(20), #课程名
primary key (id) #id为主键
);
#查看表course的字段信息
#DEcourse 表名
decourse course
#添加一列
#ALTER TABLE 表名 ADD 列名 数据类型
alter table course add test char(5)
#修改一列
#ALTER TABLE 表名 MODIFY 字段名 数据类型
alter table course modify test char(6)
#删除一列
#ALTER TABLE 表名 DROP 字段名;
alter table course drop test
#修改表名
#RENAME TABLE 原始表名 TO 要修改的表名
rename table course to promote
rename table promote to course
#查看表的创建细节
#SHOW CREATE TABLE 表名;
show create table course
#修改表的字符集
#ALTER TABLE 表名 CHARACTER SET 字符集名称
alter table course character set GBK
#修改表的列名
#ALTER TABLE 表名 CHANGE 原始列名 新列名 数据类型
alter table course change test newTest varchar(50)
#删除表
#DROP TABLE 表名
drop table course
#插入操作
#INSERT INTO 表名(列名1,列名2 …)VALUE (列值1,列值2…);
insert into course (id,Cno,Cname) value (1, '1001','高等数学');
#批量插入
#INSERT INTO 表名(列名1,列名2 …)VALUES (列值1,列值2…),(列值1,列值2…);
insert into course (id,Cno,Cname) value (2, '1002','算法设计'),(3, '1003', 'java');
#更新操作
#UPDATE 表名 SET 列名1=列值1,列名2=列值2 。。。 WHERE 列名=值
update course set Cno = 1004 ,Cname = '英语' where id = 1
#删除操作
#DELETE FROM 表名 【WHERE 列名=值】
delete from course where id = 1
#删除表并新建空表
truncate table course
#查询操作
#查询所有列
#SELECT * FROM 表名
select * from course
#查询指定列
#SELECT 列名1,列表2… FROM 表名
select Cname from course
#条件查询运算符
=(等于)、!=(不等于)、<>(不等于)、<(小于)、<=(小于等于)、>(大于)、>=(大于等于)
#查询课程号大于1000并且id不等于2的记录
select * from course where Cno > 1000 and id != 2;
BETWEEN…AND;值在什么范围
#查询课程号在1000与1002之间的记录
select * from course where Cno between 1000 and 1002;
IN(set);
#查询课程号为1001 和1003的记录
select * from course where Cno in (1001,1003);
IS NULL;(为空) IS NOT NULL(不为空)
#查询课程信息为null的记录
select * from course where Cmessage is null;
AND;与
#查询课程号大于1000小于1003的记录
select * from course where Cno > 1000 and Cno < 1003;
OR;或
#查询课程号为1001或者课程名为 java 的记录
select * from course where Cno = 1001 or Cname = 'java';
#模糊查询
#_ :任意一个字符
#% :任意0~n个字符
#查询课程名长度为四个字符的记录
select * from course where Cname like '____';
#查询课程名以字符 j 开头并且长度为四个字符的记录
select * from course where Cname like 'j___';
#查询课程名以字符 j 开头的记录
select * from course where Cname like 'j%';
#查询课程名中包含字符 a 的记录
select * from course where Cname like '%a%';
#对查询的结果进行排序
#使用关键字ORDER BY
#升序ASC
#降序DESC
#对课程进行按课程号从大到小排序
select * from course order by Cno desc