MYSQL常用命令

创建数据库
例:创建名为“test_db”的数据库。
注意:mysql中所有命令以分号结束。
mysql>create database test_db DEFAULT CHARACTER SET utf8mb4;


显示数据库
mysql> show databases;


打开数据库
例:以下命令可打开数据库“test_db”,当前正在使用的数据库就是“test_db”。创建的表都是添加到当前数据库中。
mysql>use test_db;


显示当前打开数据库
mysql>SELECT DATABASE();

显示表
例:show tables命令可显示当前数据库所包含的表。
mysql> show tables;

显示表结构
例:desc可显示指定表的结构
mysql> desc student;

创建表
create table 表名(
字段名 类型(长度) 约束,
字段名 类型(长度) 约束
);
Eaxmple:
CREATE TABLE instructor (
ID CHAR (5),
NAME VARCHAR (20),
dept_name VARCHAR (20),
salary NUMERIC (8, 2)
);

修改表名

rename table 表名 to 新表名;

删除主键

alter table 表名 drop primary key;

插入数据
insert into instructor values('10211','Smith','Biology',66000);(空的用null表示)

删除表
DROP TABLE instructor;

在表中新增字段
alter table instructor add sex char (2);

查找表中的所有内容
select * from instructor;

修改表修改列的类型长度及约束

alter table 表名 modify 列名 类型(长度) 约束;
alter table instructor modify column sex char(4) not null;

删除字段
alter table instructor drop column sex;

查询ID,姓名和年薪
select ID,name,Salary from instructor;

查询院系名称并去除重复行(distinct)
select distinct dept_name from instructor;

查询ID,姓名和月薪
mysql> select ID,name,salary/12 as month_Salary from instructor;

查询基本结构:
mysql>select *(你需要查询的内容) 也可以通过简单计算用as 重命名
        ->from 表名
        ->where (条件)比如 dept_name = 'Comp. Sci.'  and salary > 80000;  或者 salary between 90000 and 100000;

联合查询
select * from instructor,teaches;(会有m*n条结果)

mysql> select name,course_id
    -> from instructor,teaches
    -> where instructor.ID = teaches.ID;

mysql> select section.course_id,semester,year,title
    -> from section,course
    -> where section.course_id = course.course_id and dept_name = 'Comp. Sci.';

自然联合查询
mysql> select * from instructor natural join teaches;

mysql> select name,title from instructor natural join teaches natural join course;

mysql> select name,title
    -> from instructor natural join teaches,course
    -> where teaches.course_id = course.course_id;

mysql> select name,title
    -> from (instructor natural join teaches)
    -> join course using(course_id);
下面三个显示出来的结果是一样的

创建表
CREATE TABLE book(
book_number char(10) PRIMARY KEY,主键字段
category varchar(12),
book_name varchar(30) NOT NULL,
publisher char(30) NOT NULL,
author char(10),
price numeric(5,2),
book_total int NOT NULL,
inventory int NOT NULL


CREATE TABLE borrow_book(
reader_number CHAR(10) not null,
book_number char(10) not null,
borrow_time datetime not null, 非空字段
PRIMARYKEY(reader_number,book_number),  多个字段一起充当主键
foreign KEY (book_number) references book (book_number), 外键
foreign KEY (reader_number) references reader (reader_number) 除了最后一行都要加,
);

HAVING短语与WHERE子句的区别:
①作用对象不同
②WHERE子句作用于基表或视图,从中选择满足条件的元组
③HAVING短语作用于组,从中选择满足条件的组。

select dept_name, avg (salary)
from instructor
group by dept_name
having avg (salary) > 42000;

按照系进行分组再计算平均薪水

select sno, avg (grade) as avg_grade
         from SC
         where dept='CS'
         group by sno
         having  avg_grade>88

找出计算机系平均分大于88分的学生及其平均分

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值