MySQL学习入门

常用的命令

#打开 MySQL 服务
sudo service mysql start        

#使用 root 用户登录
mysql -u root
#展示有哪些数据库
show databases;
#创建数据库
create database <数据库名>
#进入数据库
use 数据库名;
#展示该数据库下有哪些表格
show tables;
#获取表结构
desc 表格名;
#建表
create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);
# 正常插入数据
INSERT INTO department(dpt_name,people_num) VALUES('dpt1',11);
#展示表格内容
SELECT * FROM department;

遇到的问题

  1. 外键约束

外键 (FOREIGN KEY) 既能确保数据完整性,也能表现表之间的关系。

一个表可以有多个外键,每个外键必须 REFERENCES (参考) 另一个表的主键,被外键约束的列,取值必须在它参考的列中有对应值。
这里写图片描述
如果表已经建立,需要添加外键约束

ALTER TABLE mark
ADD CONSTRAINT `emp_fk FOREIGN KEY (sid) REFERENCES student(sid);

实现的是给表mark的sid变量加上来自表student的约束。
1. 主键约束
比如当设定序号为主键了,那么同一个表中的两个的id号就不能相同;当设定序号和名字为主键了,那么两个的序号和名字就不能够同时一样。

create table stu_inform(
    id int,
    name varchar(20),
    grade double,
    primary key(id)
);

实现了给id加上了主键约束
链接

  1. MySql 为表中已有字段设置默认值
    已有test表,表中有个case_status字段,现在给该字段设置默认值为A:ALTER TABLE test ALTER COLUMN case_status SET DEFAULT 'A';

  2. 删除表DROP TABLE tbl_name;

  3. 同时给表插入多条语句
    `# 同时插入两条数据,看语法说明,那个into被我省略了

insert links (name,url) values(‘jerichen’,’gdsz’),(‘alone’,’gdgz’);
3、进入mysql后,如果你决定不想执行正在输入过程中的一个命令,输入\c取消它,它切换回到mysql>,提供反馈以表明mysql准备接受一个新命令。
4、当出现'>时,表示前面的‘’缺少’,**应该先输入’**,后接上其他命令,如\c。即退出。
5、当设置自动递增变量约束时,必须设为首键约束,默认从1开始递增,如果想更改默认的起始值,
ALTER TABLE tbl AUTO_INCREMENT = 100;`
6、题目
先把三个表外联成一个表格 然后查询其中物理成绩的最大值,然后显示出想要的选项。

SELECT sid,sname,gender FROM(SELECT sid,sname,gender,max(score) FROM (SELECT a.mid,a.sid,a.cid,a.score,b.sname,b.gender,c.cname FROM mark a LEFT OUTER JOIN student b ON a.sid=b.sid LEFT OUTER JOIN c ON a.sid=c.sid) d WHERE cname='physics') z;

查出的表格是视图 不能够进行修改里面的数据,要想修改 只能够在原表格进行修改。

UPDATA mark SET score = score + 3 WHERE sid = (SELECT sid FROM student WHERE sname = 'Tom' AND cid = (SELECT cid FROM course WHERE cname = 'chemistry'));

7、赋值语句
“:=” 是真正意义上的赋值操作,左边的变量设置为右边的值。
“=” 则只在两种情况下作为赋值用,第一种就是在SET语句里面,SET var = value;
另一种是在UPDATE语句里面的那个SET,如update table_name set column_name where….。
除了这两种情况外”=”则作为比较操作符使用。
8、操作符优先级
这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值