声明:此文章不使用图形化工具(如果未下载请导航到此链接mysql数据库的安装-优快云博客)
mysql -u root -p //进入数据库
show databases; //展示所有的数据库
create database ss //创建一个名为ss的库
use ss //进入ss库中
创建一个名为student的表 id是字段 int是数据类型,4表示0001,not null 表示不为空值,auto_increment 表示自增,comment 是注释,default 表示默认值,primary key(`id`)表示 id的唯一属性,按照标准格式的话,除了我们加进去的内容,关键词都是需要大写的,还希望各位小伙伴按照标准格式来哦,最后应该加一个,engine=innodb 这是mysql的默认存储引擎所以就没写了,还有就是一个编码形式default chatset = utf-8,因为我之前直接改了所以也没写
create table `student` (`id` int(4) not null auto_increment comment '学号',
`name` varchar(30) not null default '匿名' comment '姓名',
`birthday` date comment '生日', primary key(`id`));
show tables; //查看当前数据中的表
desc student //查看表结构
alter table student rename teacher; //将student表名修改为teacher表名
alter table teacher add sex varchar(10) comment '性别'; //在teacher表中添加sex字段
alter table teacher change sex phone varchar(30) comment '电话号码'; //将sex字段改为phone字段
alter table teacher drop phone; //删除teacher表中的phone字段
alter table teacher modify name char(20); //修改表中的数据类型为char(20)
insert into teacher(id,name,birthday) values(1,'小黑','2003-01-01'); //在表中增加内容
select * from teacher; //查询表内容
update teacher set name = '小红' where name = '小黑'; //修改字段内容
delete from `teacher` where id = 1; //删除id=1的这条数据
select id,name from teacher; //只查询id和名字这一列
select name from teacher where id=1; //条件查询,查询id=1的人姓名
先就一些简单的增删改查吧,这个东西还挺多的,不过大类都是换汤不换药的,像一些联合查询,排序等一些吧!(大家可以去牛客网多多练习一下)
然后说一下一些数据库的数据类型还有主键和约束键的内容吧
数据库数据类型有:
-
整数类型(Integer Types):
TINYINT
:1 字节,范围为 -128 到 127(有符号)或 0 到 255(无符号)。SMALLINT
:2 字节,范围为 -32768 到 32767(有符号)或 0 到 65535(无符号)。MEDIUMINT
:3 字节,范围为 -8388608 到 8388607(有符号)或 0 到 16777215(无符号)。INT
或INTEGER
:4 字节,范围为 -2147483648 到 2147483647(有符号)或 0 到 4294967295(无符号)。BIGINT
:8 字节,范围为 -9223372036854775808 到 9223372036854775807(有符号)或 0 到 18446744073709551615(无符号)。
-
浮点数类型(Floating-Point Types):
FLOAT
:单精度浮点数,4 字节。DOUBLE
或REAL
:双精度浮点数,8 字节。DECIMAL
或NUMERIC
:用于存储精确小数值。
-
日期和时间类型(Date and Time Types):
DATE
:日期,格式为'YYYY-MM-DD'。TIME
:时间,格式为'HH:MM:SS'。DATETIME
:日期和时间,格式为'YYYY-MM-DD HH:MM:SS'。TIMESTAMP
:时间戳,通常使用'YYYY-MM-DD HH:MM:SS'格式,范围是从 1970-01-01 00:00:01 到 2038-01-19 03:14:07。
-
字符串类型(String Types):
CHAR
:固定长度字符串,最大 255 个字符。VARCHAR
:可变长度字符串,最大 65535 个字符。TEXT
:长文本数据,最大 65535 个字符。BLOB
:长二进制数据,最大 65535 个字节。
-
其他类型:
BOOLEAN
:MySQL 并没有专门的布尔类型,通常使用TINYINT(1)
来表示布尔值,0 表示假,1 表示真。ENUM
:枚举类型,可以存储一个可能的值列表。SET
:集合类型,可以存储一个可能的值集合。
主键和约束键:
主键(Primary Key):
主键是一种唯一标识表中每个记录的方法。主键的作用包括:
- 唯一标识记录:主键确保表中的每个记录都有一个唯一标识符。
- 数据唯一性:主键的值不能重复,确保数据的唯一性,避免重复记录的出现。
- 快速查找:主键通常会创建索引,这使得根据主键进行检索和连接操作更快速有效。
在 MySQL 中,主键可以由一个或多个列组成。主键可以通过 PRIMARY KEY
关键字在创建表时指定,或者在表已存在时通过 ALTER TABLE
添加主键。
约束键(Constraint Key):
约束键是指一组规则,它们限制了表中列的值的范围或特性。约束可以分为以下几种类型:
- 唯一约束(UNIQUE Constraint):确保列中的值唯一,但允许空值。
- 外键约束(Foreign Key Constraint):定义了对另一个表中数据完整性的引用。外键确保了表与表之间的关联性和一致性。
- 非空约束(NOT NULL Constraint):确保列中的值不为空,即使在插入新行时也要求提供该列的值。
- 检查约束(CHECK Constraint):允许指定满足某些条件的值范围。
这些约束键可以通过 UNIQUE
、FOREIGN KEY
、NOT NULL
和 CHECK
关键字来定义。它们都有助于确保数据的完整性和一致性,并且提供了在数据库层面执行数据验证的功能。
打个比方大概就是:
假设你有一张表格来存储学生的成绩信息。这张表格包含学生的学号、姓名和成绩。在这个例子中:
-
主键:学号可以作为主键。这意味着每个学生都有一个唯一的学号作为其标识符。就像每个人都有一个唯一的身份证号一样。这样一来,你可以轻松地通过学号来区分每个学生,并且不会出现重复的学号,确保了数据的唯一性。
-
约束键:
- 唯一约束:如果你希望确保学生的姓名在整个表格中都是唯一的,你可以将姓名列设置为唯一约束键。这样,每个学生的姓名都必须是唯一的,但允许多个学生具有相同的成绩。
- 非空约束:如果你认为每个学生的学号是必需的信息,你可以将学号列设置为非空约束键。这样,当插入新的学生信息时,必须提供学号,否则数据库会拒绝插入操作。
- 外键约束:假设你还有一张表格存储课程信息,包括课程编号和课程名称。如果你希望学生的成绩信息与课程信息关联,你可以在成绩表中添加一个外键,引用课程表中的课程编号。这样,你就可以确保成绩信息只能与存在的课程关联起来。
通过使用主键和约束键,你可以有效地管理数据,确保数据的唯一性、完整性和一致性,以及提供方便的数据查询和连接操作。