学习地址:一天学会 MySQL 数据库【https://www.bilibili.com/video/BV1Vt411z7wy】 目 录 1、如何在数据库服务器中创建自己的数据库? (create database 数据库名;) 4、如何创建一个数据表?(create TABLE xxx…) 6、查看创建好的数据表的结构(describe 数据表名;) 1、查看数据表中的记录(select * from 数据表名;) 2.1、INSERT方式①【VALUES(值1, 值2, …)】 2.2、INSERT方式②【数据表名(数据表字段1, 字段2, …)】 1.1、添加“唯一约束”方式①【add unique(字段名)】 1.2、添加“唯一约束”方式②【建表时,添加-unique(name)】 1.3、添加“唯一约束”方式③【建表时,添加-name varchar(20) unique】 1.4、添加“唯一约束”方式④【建表时,添加-unique(id, name)】 1.5、添加“唯一约束”方式⑤【建表时,添加-unique(id, name)】 “– ” 这种注释后面,要加一个空格!!! 刚创建的数据库(test)中,没有任何数据表! MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 MySQL支持所有标准SQL数值数据类型。 这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC), 以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。 关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。 BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。 作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。 下面的表显示了需要的每个整数类型的存储和范围。 表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。 每个时间类型有一个有效值范围和一个”零”值,当指定不合法的MySQL不能表示的值时使用”零”值。 TIMESTAMP类型有专有的自动更新特性,将在后面描述。 字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。 该节描述了这些类型如何工作以及如何在查询中使用这些类型。 char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。 CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。 BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。 BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。 有 4 种 TEXT 类型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。对应的这 4 种 BLOB 类型,可存储的最大长度不同,可根据实际情况选择。 日期:按照 格式 ! 数值、字符串:按照 大小 ! 数据记录常见操作: 1、增加(INSERT) 2、删除(DELETE) 3、修改(UPDATE) 4、查询(SELECT) 1、主键约束;2、自增约束;3、外键约束; 4、唯一约束;5、非空约束;6、默认约束 它能够唯一确定一张表中的一条记录,通过给某个字段添加约束,可以使得该字段不重复而且不为空。 describe user; —–> id是不可以为null,且 key的值变为PRI(primary) ! 主键不能为空! 联合主键只要所有的字段都不是相同的情况下,可以允许其中的字段重复。 没有 定义id值,但是自动生成了id。 忘记 给表 添加 主键约束!–>修改表结构,添加主键! 删除表的主键约束!!! 约束修饰的字段的值不可以重复! unique(id, name):2个键在一起不重复,就可以 插入数据! 1、建表的时候,添加约束; 2、可以 使用 alter、add 3、alter、modify 4、删除(alter、drop) 主键约束(primary key)中 包含了 唯一约束. 这样的话就达到了,每一个手机号都只能出现一次,达到了每个手机号只能被注册一次, 非空约束(NOT NULL) 修饰的字段,不能为空。NULL 当插入字段值的时候,如果没有传值,就会使用默认值。 设计到2个表:【父表、子表】(主表、副表) 副表要参照主表! 在副表中添加的数据,必须同样存在于主表。 1、主表(父表)中没有的数据值,在副表(子表)中,是不可以使用的。 2、主表中的记录被副表引用时,是不可以被删除的。 1、主表(父表)中没有的数据值,在副表(子表)中,是不可以使用的。 2、主表中的记录被副表引用时,是不可以被删除的。
04-如何创建 数据库、数据表?
0、MySQL注释的3种写法(– …、#…、/*…*/)
1、如何在数据库服务器中创建自己的数据库? (create database 数据库名;)
create database 数据库名;
2、选中某一数据库(use 数据库名;)
use 数据库名;
3、查看数据库中的所有数据表(show tables;)
show tables;
4、如何创建一个数据表?(create TABLE xxx…)
create TABLE pet( #pet 数据表名 name VARCHAR(20), #name 数据字段,varchar 字符串数据类型 owner VARCHAR(20), specise VARCHAR(20), sex CHAR(1), #字符类型 brith DATE, #日期类型 death DATE );
5、查看数据表是否创建成功?(show tables;)
show tables;
6、查看创建好的数据表的结构(describe 数据表名;)
describe 数据表名;
05-INSERT增加数据记录
1、查看数据表中的记录(select * from 数据表名;)
select * from 数据表名;
2、往数据表中添加数据记录(insert xxx)
2.1、INSERT方式①【VALUES(值1, 值2, …)】
INSERT INTO pet VALUES('名字','主人名','品种','1','2000-01-01',null);
2.2、INSERT方式②【数据表名(数据表字段1, 字段2, …)】
INSERT INTO pet(name, owner) VALUES ('xx', 'cc');
06-MySQL数据类型与类型选择
1、MySQL常用数据类型
1.1、数值类
create table testType(number TINYINT); show tables; describe testType; SELECT * FROM testType; INSERT INTO testType VALUES(128);
1.2、日期和时间类型
1.3、字符串类型
2、注意
3、数据类型如何选择
07-数据记录增删改查操作
1、插入数据(INSERT)
INSERT INTO pet VALUES('kk1','cc1','dog1','1','1998-1-1',null); INSERT INTO pet VALUES('kk2','cc2','dog2','2','1998-2-2',null); INSERT INTO pet VALUES('kk3','cc3','dog3','1','1998-3-3','1998-12-2'); INSERT INTO pet VALUES('kk4','cc4','dog4','2','1998-4-4',null);
2、查看数据(SELECT)
select * from pet;
3、删除数据(DELETE)
DELETE FROM tablesName WHRER 条件; delete from pet where name='名字';
4、修改数据(UPDATE)
UPDATE tableName SET 字段1=值1,字段2=值2 ... WHERE 条件; update pet set name='旺旺财' where owner='保安李大爷';
5、总结
08-约束-主键约束primary_key
1、MySQL建表约束
1.1、主键约束
create table user( id int PRIMARY KEY, name VARCHAR(20) );
INSERT INTO user VALUES (1, '张三');
09-约束-主键约束-联合主键
1、联合主键
CREATE TABLE user2( id INT, name VARCHAR(20), password VARCHAR(20), PRIMARY key(id,name) ); INSERT INTO user2 VALUES (1,'老王','123456');
10-约束-自增约束-auto_increment
1、自增约束
CREATE TABLE user3( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) );
INSERT INTO user3(name) VALUES('霸刀宋壹'); INSERT INTO user3(name) VALUES('哒哒子前辈'); INSERT INTO user3(name) VALUES('天帝子前辈');
11-约束-主键约束-建表后添加与删除
CREATE TABLE user4( id int, name VARCHAR(20) );
1、修改表结构,添加主键约束
alter table user4 add primary key(id);
2、删除主键约束
alter table user4 drop primary key;
3、使用modify修改字段,添加主键约束
alter table user4 modify id int primary key;
12-约束-唯一约束-unique
create table user5( id int, name varchar(20) );
1、添加唯一约束的方式
1.1、添加“唯一约束”方式①【add unique(字段名)】
alter table user5 add unique(name);
insert into user5 values(1, '张三');
1.2、添加“唯一约束”方式②【建表时,添加-unique(name)】
create table user6( id int, name varchar(20), unique(name) );
1.3、添加“唯一约束”方式③【建表时,添加-name varchar(20) unique】
create table user7( id int, name varchar(20) unique );
1.4、添加“唯一约束”方式④【建表时,添加-unique(id, name)】
create table user8( id int, name varchar(20), unique(id, name) );
insert into user8 values(1, '张三');
1.5、添加“唯一约束”方式⑤【建表时,添加-unique(id, name)】
alter table user7 modify name varchar(20) unique;
2、删除唯一约束(drop)
alter table user7 drop index name; /*name 是 字段名*/
3、总结
4、业务需求(用户注册表—综合实例)
CREATE TABLE user_test( id INT PRIMARY KEY AUTO_INCREMENT COMMENT'主键id', name VARCHAR(20) NOT NULL COMMENT'用户姓名,不能为空', phone_number VARCHAR(20) UNIQUE NOT NULL COMMENT'用户手机,不能重复且不能为空' );
场景:业务需求(设计一张用户注册表,用户姓名必须要用手机号来注册,而且手机号和用户名称都不能为空。)
用户姓名可以重复,但是手机号码却不能重复,符合正常的逻辑需求。13-约束-非空约束-not_null
create table user9( id int, name varchar(20) not null );
insert into user9 (id) values(1);
14-约束-默认约束-default
create table user10( id int, name varchar(20), age int default 10 );
insert into user10 (id, name) values(1, '张三'); insert into user10 values(1, '张三', 19);
15-约束-外键约束-foreign_key
1、创建2个表(班级表、学生表)
1.1、班级表(主表)(classes)
-- 班级表 create table classes( id int primary key, name varchar(20) );
1.2、学生表(副表)(students)
-- 学生表 create table students( id int primary key, name varchar(20), class_id int ,-- 关联班级表id,字段的数据类型需要相同 foreign key(class_id) references classes(id)-- 绑定:指明class_id来自哪个表 -- class_id必须来自classes表的id字段 );
2、插入数据
2.1、在班级表(主表)中插入数据!
-- 在班级表中插入数据! insert into classes values(1, '1班'); insert into classes values(2, '2班'); insert into classes values(3, '3班'); insert into classes values(4, '4班'); insert into classes values(5, '5班'); insert into classes values(6, '6班'); select * from classes;
2.2、在学生表(副表)中插入数据!
-- 在学生表中插入数据! insert into students values(1001, '张三', 1); insert into students values(1002, '张三', 2); insert into students values(1003, '张三', 3); insert into students values(1004, '张三', 4); select * from students;
3、删除数据
delete from classes where id=4;
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算