MySQL数据库
程序员文章站
2024-03-13 22:25:46
...
数据库作用:1.更有效率的存数据
2.更有效率的取数据
什么是数据库(Database):是按照数据结构来组织、存储和管理数据的仓库。
数据库:数据库是一些关联表的集合
数据表Lbiao是数据的矩阵。在一个数据库中的表开起来像一个简单的电子表。
每个数据库都有一个或多个不同的API(接口)用于创建、访问、管理、搜索和复制所有保存的数据。
我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据里。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
关系型数据库:
Oracle 收费
Mysql 免费开源 最流行
SqlServer 免费--微软
DB2 IBM
Postgresql
Sqlite
access
主键:作用 标识这一行,唯一不可重复。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
外键:用于关联两个表。
复合键(组合键):将多列作为一个索引键,一般用于复合索引。
索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
参照完整性:不允许引用不存在的实体
用cmd dom 启动并查看数据库里的内容:
mysql -uroot -p123456 登入mysql;
show databases; 显示数据库;
use mysql; 选择mysql数据库;
show tables; 显示表
desc user; 查看"user"这个表的结构;
select * from user; 查看表里所有的数据 *代表所有;
使内容变的可读性变高;
修改表
CREATE TABLE `class` (
`caption` VARCHAR(8) DEFAULT NULL
)
ALTER TABLE class ADD sex CHAR(2) DEFAULT'男';
ALTER TABLE class MODIFY sex CHAR(2) DEFAULT'女';
ALTER TABLE class CHANGE caption 姓名 VARCHAR(20) DEFAULT'匿名';
DROP TABLE grade;
添加外键
CREATE TABLE IF NOT EXISTS grade(
gradeid INT(10) PRIMARY KEY AUTO_INCREMENT,
gradename VARCHAR(50) NOT NULL
)
CREATE TABLE student(
studentno INT(4) PRIMARY KEY,
studentname VARCHAR(20) NOT NULL DEFAULT'匿名',
sex TINYINT(1) DEFAULT 1,
gradeid INT(10),
phone VARCHAR(50) NOT NULL,
address VARCHAR(255),
borndate DATETIME,
email VARCHAR(50),
identiyCard VARCHAR(18) NOT NULL
);
#创建外键
ALTER TABLE student #student 从表
ADD CONSTRAINT fk_gradeid #添加外键约束名字
FOREIGN KEY(gradeid) # 外键(从表)
REFERENCES grade(gradeid); #主表
#删外键 创建外键是同时也会建立一个外键索引
ALTER TABLE student DROP FOREIGN KEY fk_gradeid;
ALTER TABLE student DROP INDEX fk_gradeid;
使用语句增加数据
SHOW CREATE TABLE grade;# 显示表结构
CREATE TABLE `grade` (
`gradeid` INT(10) NOT NULL AUTO_INCREMENT,
`gradename` VARCHAR(50) NOT NULL,
PRIMARY KEY (`gradeid`)
)
INSERT INTO grade(gradename) VALUE('张三'),('李四');
修改列