1.启动数据库
以管理员身份运行CMD
输入 C:\WINDOWS\system32>net start mysql
启动mysql
2.输入用户名密码
C:\WINDOWS\system32>mysql -u root -p
3.创建库,并创建学生详细信息表
需求:
创建库并创建学生详细信息表student:
student表
id | 字符串 |
name | 字符串,非空 |
age | 数值型,非空 |
sex | 约束:男 女 |
birth | 出生日期:year型,非空 |
score | 数值型,非空 |
3.1创建student库
mysql> create database student;
查看当前所有数据库
mysql> show databases;
进入student库
mysql> use student;
3.2创建student表
可以这样创建:
mysql> create table student(id char,name char not null,age int not null,sex enum('男','女') ,birth year not null,score int not null) character set=utf8;
也可以这样创建:
create table student
(
id char,
name char not null,
age int not null,
sex enum('男','女') ,
birth year not null,
score int not null
) character set=utf8;
3.3修改表student名为teacher
mysql> alter table student rename teacher;
3.4 修改列名id为sid
mysql> alter table teacher change id sid char;
3.5 查看当前表结构
mysql> desc teacher;
3.6 修改sid属性为数值型,唯一
mysql> alter table teacher modify sid int unique;
3.7 删除name列,再添加name列。修改name大小为20.
alter table teacher drop name;
alter table teacher add name char;
mysql> alter table teacher modify name char(20);
3.8插入20条数据。
插入20数据。其中含有张三3人,张三三2人,张三四4人。男女各10人。
先查看表的结构。
一次插入一条数据:
mysql> insert into teacher values(1,17,'1',1999,89,'张三');
一次插入多条数据:
insert into teacher values(1,17,'1',1991,89,'张三'),(2,14,'1',1996,59,'张三三'),(3,19,'1',1981,87,'张三四'),(4,21,'1',1989,85,'张三四'),(5,17,'1',2000,49,'张三'),(6,21,'1',1981,76,'张三四'),(7,17,'1',1991,69,'李四'),(8,12,'1',2003,74,'张三三'),(9,18,'1',1992,78,'张三四'),(10,19,'1',1994,80,'张三'),(11,19,'2',1987,29,'陈晓'),(12,31,'2',1976,59,'李晓红'),(13,34,'2',1971,87,'李萌'),(14,21,'2',1989,85,'孙悟空'),(15,25,'2',1990,49,'八戒'),(16,27,'2',1990,76,'小白马'),(17,26,'2',1992,69,'砂层'),(18,21,'2',1996,74,'蜘蛛精'),(19,20,'2',1995,78,'玉兔精'),(20,19,'2',1994,80,'李明');
3.9查询张三的全部信息
mysql> select * from teacher where name='张三';
8、查询姓张的sid,name。
select sid,name from teacher where name like '张%';
9、查询姓张的平均分
select avg(score) from teacher where name like '张%';
10、统计性别男的人数。
select count(sex) from teacher where sex='男';
11、查询性别为男,年龄为24岁的人。
select * from teacher where sex='男' and age='24’;
12、统计共有有多少学生
select count(sid) from teacher;
13、获取当前日期。
select now();
14、查询分数最高的学生,姓名,id,分数。
select name,sid,score from teacher where score=(select max(score) from teacher);
15、计算所有学生的平均分数。
select avg(score) from teacher;
16、查询不及格的人的姓名,分数
select name,score from teacher where score<60;
17、按成绩从高到低排序
select * from teacher order by score desc;
18、查询除了张三其他所有人的名字,分数。
select name,score from teacher where name not like '张三';
19、查询不姓张的其他所有人的名字,分数,性别。
select name,score,sex from teacher where name not like '张%';
20、查询成绩前三名的学生,姓名,分数。
select name,score from teacher order by score desc limit 3;
21、查询,张三,张三三,张三四 分别有多少人。(一条语句)
select count(name) from teacher where name='张三' or name='张三三' or name='张三四' group by name;
select count(name),name from teacher where name='张三' or name='张三三' or name='张三四' group by name;
22、查询当前所在库
select database ();
23、修改男性,birth=1991 人 的分数为101
update teacher set score=101,sex=‘1’ where birth=1991;
24、清空所有姓张,姓李的数据
delete from teacher where name like'张%'or name like'李%';
in
25、查询分数最高的人全部信息。用两种方法
select * from teacher where score=(select max(score) from teacher);
select * from teacher order by score desc limit 1;