mysql使用

一.创建数据库
创建数据库

create database test;

使用数据库
use test;

二.查看数据库中的表
查看表
show tables;

三.创建数据表

create table pet(
	name varchar(20),
	owner varchar(20),
	species varchar(20),
	sex char(1),
	birth date,
	death date,); #注意这里多打了一个,所以运行错误了
create table pet(
	name varchar(20),
	owner varchar(20),
	species varchar(20),
	sex char(1),
	birth date,
	death date);

查看创建表的结构

describe pet;

插入

insert into pet
values (‘aa’,‘bb’,‘cc’,‘f’,‘1999-03-30’,NULL);

mysql常用数据类型

https://www.runoob.com/mysql/mysql-data-types.html

数值

注意范围
类型前面加unsigned
create table testType(
number tinyint
)

create table testType(
number tinyint unsigned
)

时间

按照格式选择
注意格式
DATE YYYY-MM-DD
TIME HH:MM:SS

字符

注意范围(长度)
CHAR
varchar

日期注意格式,数值和字符串注意长度(范围)

删除和更新

1.首先插入一部分
       INSERT INTO pet VALUES('kk1','cc1','dog1','1','1998-1-2',null);
       INSERT INTO pet VALUES('kk2','cc2','dog2','2','1998-2-2',null);
       INSERT INTO pet VALUES('kk3','cc3','dog3','1','1998-3-2','1998-12-2');
       INSERT INTO pet VALUES('kk4','cc4','dog4','2','1998-4-2',null);
2.使用delete命令删除一行
DELETE FROM tablesName WHRER 条件;
3.使用truncate清空数据
truncate table pet;

使用describe 依然可以看到表的情况

4.使用drop删除表结构
drop table pet;

无法使用describe了

3.使用update命令修改数据
UPDATE tableName SET 字段1=1,字段2=2 ... WHERE 条件;

mysql建表中的约束

1 主键约束

它能够唯一确定一张表中的一条记录,增加主键约束之后,就可以使得字段不重复而且不为空

create table user(
	id int primary key,
	name varchar(20)
);
insert into user values(1,'fuck');
descirbe user;

不可以为null
±------±------------±-----±----±--------±------+
| Field | Type | Null | Key | Default | Extra |
±------±------------±-----±----±--------±------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(20) | YES | | NULL | |
±------±------------±-----±----±--------±------+

2.复合主键
create table user2(
	id int,
	name varchar(20),
	password varchar(20),
	primary key(id,name)
);

运行describe user2;
id,name不可为null

INSERT INTO user2 VALUES (1,'老王','123456');
INSERT INTO user2 VALUES (2,'老王','123456');
INSERT INTO user2 VALUES (1,'老李','123456');

插入成功,说明复合主键可以出现部分字段重复

3.自增约束
create table user3(
 	id int primary key auto_increment,
 	name varchar(20)
 )

±------±------------±-----±----±--------±---------------+
| Field | Type | Null | Key | Default | Extra |
±------±------------±-----±----±--------±---------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
±------±------------±-----±----±--------±---------------+

INSERT INTO user3(name) VALUES('张三');
INSERT INTO user3(name) VALUES('李四');

插入成功后主键自动加入

insert into user3 values(2,'sb3');

再插入重复会报错,主键的因故

insert into user3 values(3,'sb3');
insert into user3 values(5,'sb3');

不顺序的插入也可以。

INSERT INTO user3(name) VALUES('sb4');

再插入会从第6(5+1)开始。

4唯一约束
CREATE TABLE user5(
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(20)
);

新增name为唯一约束:

ALTER TABLE user5 ADD UNIQUE(name);

或者声明的时候加unique

CREATE TABLE user5(
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(20) unique
);

±------±------------±-----±----±--------±---------------+
| Field | Type | Null | Key | Default | Extra |
±------±------------±-----±----±--------±---------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | UNI | NULL | |
±------±------------±-----±----±--------±---------------+

主键约束和唯一约束可以共存,唯一约束可以为null

INSERT INTO user5(name) VALUES ('cc');
INSERT INTO user5(name) VALUES ('cc');

执行报错

5. 非空约束
CREATE TABLE user5.5(
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(20) not null
);
6.默认约束
 status INT DEFAULT 0 COMMENT'用户状态0:启用 1:禁封 默认:0'
create table user6(
	id int primary key auto_increment comment'主键id',
	name varchar(20) not null,
	phone_number varchar(20) not null comment'用户手机号,不能为空',
	status int default 0 comment'用户状态0:启用 1:封禁 默认:0'
);
7.外键约束

建表classes

CREATE TABLE classes(
    id INT PRIMARY KEY AUTO_INCREMENT COMMENT'班级表id',
    name VARCHAR(20) COMMENT'班级名称'
);

建表student ,设置外键class_id
FOREIGN KEY (class_id) REFERENCES classes(id)

CREATE TABLE student(
   id INT PRIMARY KEY AUTO_INCREMENT COMMENT'学生表id',
   name VARCHAR(20) COMMENT'学生姓名',
    class_id int COMMENT'教室id,这张表中的class_id是classes表中id的值',
    FOREIGN KEY (class_id) REFERENCES classes(id)
);

引用的列,在引用值全部被删光之前无法删除

8.如何建表之后添加/删除约束
CREATE TABLE user4(
    id INT,
    name VARCHAR(20)
);

增加主键

ALTER TABLE user4 add PRIMARY KEY(id);

删除主键

ALERT TABLE user4 DROP PRIMARY KEY;

使用modify 修改字段.添加约束:
主键

ALTER TABLE user4 MODIFY id INT PRIMARY key;

自增长

ALTER TABLE user4 MODIFY id INT AUTO_INCREMENT;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值