mysql -uroot
mysql -uroot -p
show databases;
create database <数据库名>;
drop database <数据库名>;
use <数据库名>;
show tables;
create table student(id int(4) primary key,name char(20));
create table score(id int(4) not null,class int(2)); 注释: not null字段不能为空。
create table student1(id int(4) not null,name char(20)); Field (列名),Type(字段类型),null(是否为空),key(主键)
describe student; 或 desc student;
alter table <表名> rename <表名>;
drop table <表名>;
alter table student change id id int(20);
alter table student1 add class int(4) not null after id;
alter table student1 drop number;
提示:在数据库导入表时,要修改列的字段类型并设置主键;
主键:表中经常有一个列或多列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义 PRIMARY KEY 约束来创建主键。一个表只能有一个 PRIMARY KEY 约束,而且 PRIMARY KEY 约束中的列不能接受空值。由于 PRIMARY KEY 约束确保唯一数据,所以经常用来定义标识列。
insert into 表格名(列名) values(值) 先导入student和score表,表为Excel,可以自己编写。 例子: mysql> insert into student(id,class,number,name) values(81,4,19,'stu81'); mysql> insert into student(id,class,number) values(82,4,20); mysql> insert into student values(83,4,21,'stu83'); mysql> alter table student change id id int(2) auto_increment; 注释:auto_increment以1为单位自增长的意思; mysql> insert into student(class,number,name) values(4,22,'stu84'); mysql> alter table score change id id int(4) auto_increment; 注释:auto_increment自增长的意思。+1。输入该命令,表格会在新输入自动新增长新的一行,id也会成自增。 mysql> insert into score(class,number,maths,chinese,english) values(4,19,80,78,98); mysql> insert into score(class,number,maths,chinese,english) values(4,20,98,88,68); mysql> insert into score(class,number,maths,chinese,english) values(4,21,91,83,78); mysql> insert into score(class,number,maths,chinese,english) values(4,22,67,83,88);
select * from <表名> where 注释:语句以逗号做分隔,*通配符,select是展示的意思,where是条件; 例子: 查询学生信息表中所有信息:select * from student; 查询成绩表中,列id,class,chinese的信息:select id,class,chinese from score;
升序:order by 降序:升序语句末尾加 desc 例子:查询成绩表中,列id,chinese的信息并且以列chinese排序 select id,chinese from score order by chinese;(升序) select id,chinese from score order by chinese desc;(降序)
(1)查询1班与2班的成绩信息: mysql> select * from score where class="1" or class="2";
(2)查询语文为77并且数学为88的成绩信息: mysql> select * from score where chinese=77 and maths=88;
(3)查询1,2,3班的成绩信息: mysql> select * from score where class in (1,2,3); 查询不为4班的成绩信息: mysql> select * from score where class not in
(4)查询不为4班的成绩信息: mysql> select * from score where class !=4; 注释: !在数据库里面为否定的意思:
(5) 查询1班到3班的成绩信息: mysql> select * from score where class between 1 and 3; 注释: between:在```之间,中间的意思:
(6) 查询不为3班与4班的成绩信息: mysql> select * from score where class not in (3,4);
(7)查询语文成绩大于等于80小于等于90的成绩信息 mysql> select * from score where chinese>=80 and chinese<=90;
(8) 统计成绩表的总数: mysql> select count(*) from score;
(9) 按照英语去重,显示英语成绩信息: mysql> select distinct English from score; 注释: distinct 去除重复的意思;
(10) 显示4到7行的数据:mysql> select * from score limit 3,4; 注释:数据库数据排列:0,1,2,3; 3显示第4行; 4,5,6,7共有4行; 3,4 ; 3表示第4行,4表示从第3行开始到第7行,共有4行;
(11) 按chinese排序,显示4,5行数据: mysql> select * from score order by chinese limit 3,2;
(12) 查询出学生姓名为stu10的学生信息:mysql> select * from student where name='stu10'; 注释:只要不是数字,有汉字数字字母多种组成的形式都要加单引号,表示字符串。
(13) 查询出学生姓名为stu10或者stu15的学生信息: mysql> select * from student where name in ('stu10','stu15');
(14) 分组查询每个班的人数: mysql> select class,count(*) from student group by class;
1,查询4班的成绩信息: select * from score where class="4";
2,查询4班,语文成绩大于80小于90的成绩信息: select * from score where class in (4) and chinese>80 and chinese<90;
3,查询学生表中5到10行的数据: select * from student limit 4,6;
4,显示3班语文成绩为90,数学成绩为68,的class与number信息,: select class, number from score where class="3" and chinese=90 and maths=68;
5,查询出4班成绩并且按语文成绩倒序排序: select * from score where class="4" order by chinese desc;
6,查询2班与3班,语文成绩与数学成绩都大于80的class与number信息: select class, number from score where class in (2,3) and chinese>80 and maths>88;