【MySQL】MySQL基礎操做語句

  mysql基礎操做語句,包括數據庫的增、刪、切換,以及表的增、刪、改、查、複製。mysql

 

建立數據庫

mysql> create database tem;

 

使用數據庫

mysql> use tem;

 

刪除數據庫

mysql> drop database drop_test;

 

建立數據表

  • student表
mysql> CREATE  TABLE  student (
    -> id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  ,
    -> name  VARCHAR(20)  NOT NULL ,
    -> sex  VARCHAR(4)  ,
    -> birth  YEAR,
    -> department  VARCHAR(20) ,
    -> address  VARCHAR(50)
    -> );

 

  • 建立score表
mysql> CREATE  TABLE  score (
    -> id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  AUTO_INCREMENT ,
    -> stu_id  INT(10)  NOT NULL ,
    -> c_name  VARCHAR(20) ,
    -> grade  INT(10)
    -> );

 

插入表數據

  • student表
mysql> INSERT INTO student VALUES( 001,'RooneyMara', 'F',1985,'Psychology', 'American');
mysql> INSERT INTO student VALUES( 002,'ChrisHemsworth', 'M',1983,'CS', 'Australia');
mysql> INSERT INTO student VALUES( 003,'EllenPage', 'F',1987,'Music', 'Canada');
mysql> INSERT INTO student VALUES( 004,'TomHolland', 'M',1996,'CS', 'England');
mysql> INSERT INTO student VALUES( 005,'ScarlettJohansson', 'F',1984,'Music', 'American');
mysql> INSERT INTO student VALUES( 006,'BenedictCumberbatch','M',1976,'Psychology', 'England');

 

  • score表
mysql> INSERT INTO score VALUES(NULL,001, 'Psychology',98);
mysql> INSERT INTO score VALUES(NULL,001, 'Music', 80);
mysql> INSERT INTO score VALUES(NULL,002, 'Psychology',65);
mysql> INSERT INTO score VALUES(NULL,002, 'CS',88);
mysql> INSERT INTO score VALUES(NULL,003, 'CS',95);
mysql> INSERT INTO score VALUES(NULL,004, 'Psychology',70);
mysql> INSERT INTO score VALUES(NULL,004, 'Music',92);
mysql> INSERT INTO score VALUES(NULL,005, 'Music',94);
mysql> INSERT INTO score VALUES(NULL,006, 'Psychology',90);
mysql> INSERT INTO score VALUES(NULL,006, 'Music',85);

 

查詢表數據

查詢student表中的所有數據

mysql> select * from student;

 

查詢student表的第3條到5條記錄

mysql> select * from student limit 2,3; 

 

查詢student表的全部學生的id、name和department信息

mysql> select id,name,department from student;

 

 

查詢student表中department爲CS和Music的學生信息

mysql> select * from student where department in ('CS','Music');

 

 

查詢student表中年齡爲23~32歲的學生信息

mysql> select id,name,sex,2019-birth as age,department,address
    -> from student
    -> where 2019-birth between 23 and 32;

 

查詢student表中每一個department有多少人

mysql> select department,count(id) from student group by department;

 

查詢score表中每一個科目(c_name)的最高分(grade)

mysql> select c_name,max(grade) from score group by c_name;

 

查詢‘RooneyMara’的科目(c_name)和成績(grade)

mysql> select c_name,grade from score
    -> where stu_id=(select id from student where name='RooneyMara');

 

查詢全部學生的信息和考試信息(用鏈接的方式)

mysql> select student.id,name,sex,birth,department,address,c_name,grade
    -> from student,score
    -> where student.id=score.stu_id;

 

計算每一個學生的總成績

mysql> select student.id,name,sum(grade) from student,score
    -> where student.id=score.stu_id
    -> group by id;

 

計算每一個考試科目的平均成績

mysql> select c_name,avg(grade) from score group by c_name;

 

查詢Psychology成績低於95的學生信息

mysql> select * from student
    -> where id in (
    -> select stu_id from score
    -> where c_name='Psychology' and grade<95);

 

查詢同時參加Psychology和CS考試的學生的信息

方法1:sql

mysql> select * from student
    -> where id =any
    -> (select stu_id from score where stu_id in
    -> (select stu_id from score where c_name='Psychology')
    -> and c_name='CS');

 

方法2:數據庫

mysql> select a.* from student a,score b,score c
    -> where a.id=b.stu_id
    -> and b.c_name='Psychology'
    -> and a.id=c.stu_id
    -> and c.c_name='CS';

 

將Psychology考試成績按從高到低進行排序

mysql> select stu_id ,grade from score where c_name='Psychology'
    -> order by grade desc;

 

查詢student表和score表中學生的學號(id),而後合併查詢結果

mysql> select id from student union select stu_id from score;

 

查詢name中開頭字母是「R」或者「E」的同窗的姓名(name)、院系(department)和考試科目(c_name)及成績(grade)

mysql> select student.id,name,sex,birth,department,address,c_name,grade
    -> from student,score
    -> where (name like 'R%' or name like 'E%')
    -> and student.id=score.stu_id;

 

查詢address都是England的學生的姓名(name)、年齡、院系(department)和考試科目(c_name)及成績(grade)

mysql> select student.id,name,sex,2019-birth as age,department,address,c_name,grade
    -> from student,score
    -> where address='England'
    -> and student.id=score.stu_id;

 

刪除表數據

mysql> delete from score where id=10;

 

更新表數據

mysql> update score set c_name='CS' where id=11;

 

複製表格式

1.查看數據表的完整結構spa

mysql> show create table student;

 

2. 修改數據表名,並執行SQL語句3d

mysql> CREATE TABLE `clone_student` (
    ->   `id` int(10) NOT NULL,
    ->   `name` varchar(20) NOT NULL,
    ->   `sex` varchar(4) DEFAULT NULL,
    ->   `birth` year(4) DEFAULT NULL,
    ->   `department` varchar(20) DEFAULT NULL,
    ->   `address` varchar(50) DEFAULT NULL,
    ->   PRIMARY KEY (`id`),
    ->   UNIQUE KEY `id` (`id`)
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

 

複製表數據

mysql> insert into clone_student(id,name,sex,birth,department,address)
    -> select id,name,sex,birth,department,address from student;

相關文章
相關標籤/搜索