1.創(chuàng)建數(shù)據(jù)庫istester:
CREATE DATABASE istester;
DROP DATABASE IF EXISTS istester;
CREATE DATABASE IF NOT EXISTS istester;
2.查看數(shù)據(jù)庫創(chuàng)建是否成功:
show databases;
3.使用數(shù)據(jù)庫:
use istester;
4.查看當前使用的數(shù)據(jù)庫:
select database();
5.創(chuàng)建表istester和idoxu:
istester的字段扫腺、類型、屬性:id INT(10) NOT NULL UNIQUE PRIMARY KEY,uname VARCHAR(20) NOT NULL ,sex VARCHAR(4),birth YEAR,department VARCHAR(20),address VARCHAR(50),idoxu VARCHAR(20)
CREATE TABLE istester (id INT(10) NOT NULL UNIQUE PRIMARY KEY,uname VARCHAR(20) NOT NULL ,sex VARCHAR(4),birth YEAR,department VARCHAR(20),address VARCHAR(50),idoxu VARCHAR(20));
idoxu的字段、類型厢呵、屬性:id INT(10) NOT NULL UNIQUE PRIMARY KEY,stu_id INT(10) NOT NULL,c_name VARCHAR(20),istester VARCHAR(50),grade INT(10)
CREATE TABLE idoxu (id INT(10) NOT NULL UNIQUE PRIMARY KEY,stu_id INT(10) NOT NULL,c_name VARCHAR(20),istester VARCHAR(50),grade INT(10));
6.查看表結構:
desc istester;
show columns from istester;
7.復制istester的表結構,創(chuàng)建新表:
create table istester2 like istester;
create table istester3 as select * from istester where 2 = 1;
8.復制istester的表結構和數(shù)據(jù)耐朴,創(chuàng)建新表手销;
create table istester4 as select * from istester;
9.復制idoxu表的id ,stu_id,istester字段,創(chuàng)建新表:
create table idoxu4 as select id ,stu_id,istester from idoxu where 1 = 2;
10.刪除表istest2:
drop table istester2;
11.同時刪除idoxu2和idoxu3:
drop table idoxu2,idoxu3;
12.查看數(shù)據(jù)庫中還有哪些表:
show tables;
13.修改istester表碧信,添加一個字段istester6(字符類型VARCHAR,長度100,,不允許為空):
ALTER table istester add column istester6 VARCHAR(100) NOT NULL;
14.修改istester表,刪除字段istester6字段:
ALTER table drop istester6;
15.向表istester 插入數(shù)據(jù)
id=1,uname=idoxu,idoxu=2020
id=2,uname=idoxu2,idoxu=2020
insert into istester (id,uname,idoxu) values(1,"idoxu",2020),(1,"idoxu2",2020);
id=11,uname=idoxu3,sex=1
id=12,uname=idoxu4,sex=2
id=13,uname=idoxu5,sex=1
id=14,uname=idoxu6,sex=2
insert into istester (id,uname,sex) values(11,"idoxu3",1),(12,"idoxu4",2),(13,"idoxu5",1),(14,"idoxu6",2)
向表idoxu插入數(shù)據(jù):
id=4,stu_id=11,c_name=idoxu,grade=90
id=5,stu_id=12,c_name=lin,grade=100
id=6,stu_id=33,c_name=istester,grade=20
insert into idoxu (id,stu_id,c_name,grade) values (4,11,"idoxu",90),(5,11,"lin",100),(6,11,"istester",20);
16.查詢istester表id=1的內容:
select * from istester where id = 1;
查詢idoxu表grade=100的內容:
select * from idoxu where grade=100;
查找idoxu表街夭,名稱(c_name)包含“i”的數(shù)據(jù):
select * from idoxu where c_name like "%i%";
查找istester表砰碴,id包含“1”的數(shù)據(jù):
select * from istester where id like "%1%";
查找istester表,id包含“1”的數(shù)據(jù),按id降序:
select * from istester where id like "%1%" order by id desc;
查找istester表板丽,id包含“1”的數(shù)據(jù),取id最大的三個:
select * from istester where id like "%1%"? order by id desc limit 3;
找出idoxu表中呈枉,分數(shù)最高的同學和分數(shù):
select c_name,grade from idoxu order by grade desc limit 1;
select c_name,grade from idoxu where grade in (select max(grade) from idoxu));
找出idoxu表中趁尼,分數(shù)最低的同學和分數(shù):
select c_name,grade from idoxu order by grade asc limit 1;
select c_name,grade from idoxu where grade in (select min(grade) from idoxu));
找出istester表,sex為空的數(shù)據(jù):
select * from istester where sex is null;
找出idoxu表,grade小于60分的同學:
select * from idoxu where grade<60;
查找istester表猖辫,按id降序:
select * from istester order by id desc;
查找idoxu表酥泞,按grade升序:
select * from idoxu order by grade asc;
查詢istester表,有多少條數(shù)據(jù):
select count(*) from istester;
查詢istester表啃憎,有幾種性別類型(sex字段芝囤,去重)
select distinct(sex) from istester;
select count(distinct(sex)) from istester;
查找idoxu表,學生成績(grade)總分辛萍;
select sum(grade) from idoxu;
查找idoxu表悯姊,學生成績(grade)平均分;
select avg(grade) from idoxu;
查找idoxu表贩毕,成績在80-100區(qū)間的學生:
select * from idoxu where grade >=80 and grade <=100;
select * from idoxu where grade between 80 and 100;
查找istester表悯许,id為2,11,12的數(shù)據(jù):
select * from istester where id in (2,11,12);
17.更新istester表,把sex為空的耳幢,設置為0(性別未知)
update istester set sex = 0 where sex is null;
更新idoxu表岸晦,把grade小于60分的同學,一律改為59分:
update idoxu set grade = 59 where grade < 60;
18.刪除istester表睛藻,id大于12的數(shù)據(jù):
delete from istester where id >12;
刪除idoxu 表启上,分數(shù)grade不及格(小于60分)的數(shù)據(jù):
delete from idoxu where grade <60;
19.造數(shù)據(jù),把istester表的所有數(shù)據(jù)店印,插入到idoxu表冈在,字段關系:id取id,stu_id取id,c_name取uname,istester和grade字段按摘,給默認值60:
insert into idoxu (id,stu_id,c_name,istester,grade) select id,id,uname,60,60 from istester;
20.修改表idoxu包券,把字段istester,改為istester6(字符類型varchar,長度160):
alter table idoxu CHANGE istester istester6 VARCHAR(160);
檢查是否修改成功:
desc idoxu;
把idoxu表炫贤,改名為idoxu6:
alter table idoxu rename to idoxu6;
檢查是否修改成功:
show tables;
21.創(chuàng)建數(shù)據(jù)庫istesterdb6:
create database istesterdb6;
檢查數(shù)據(jù)庫是否創(chuàng)建成功:
show databases;
進入istesterdb6庫:
use istesterdb6;
查看當前正在使用的數(shù)據(jù)庫:
select database();
在數(shù)據(jù)庫istesterdb6,創(chuàng)建idoxu表溅固,直接拷貝istester庫idoxu6表的數(shù)據(jù)和結構;:
create table idoxu as select * from istester.idoxu6;
檢查表是否創(chuàng)建成功:
show tables;
select * from idoxu
idoxu表兰珍,分數(shù)grade:
排名前三的學生和分數(shù):
select c_name ,grade from idoxu order by grade desc limit 3;
排名3-6名的學生和分數(shù):
select c_name,grade from idoxu order by grade desc limit 2,4;
排名6名以后的所有學生和分數(shù)侍郭;
select c_name,grade from idoxu order by grade desc limit 5,9999;
22.多表查詢(左連接,右連接掠河,內連接)看區(qū)別亮元;有兩張表:idoxu6和istester表:
select * from idoxu6 left join istester on idoxu6.id = istester.id;
select * from idoxu6 right join istester on idoxu6.id = istester.id;
select * from idoxu6 inner join istester on idoxu6.id = istester.id;
內連接是只有符合條件的才顯示;
左連接 left join左邊的表是全部數(shù)據(jù)唠摹,右邊的只有符合條件的才有數(shù)據(jù)爆捞;
右連接 right join?右邊的表數(shù)據(jù)全,左邊的符合條件的有數(shù)據(jù)勾拉;
23.把表idoxu6,改為idoxu:
alter table idoxu6 rename to idoxu;
刪除庫 istesterdb6:
drop database istester6db;
刪除istester表:
drop table istester;
清空idoxu表的數(shù)據(jù):
delete from idoxu;