【MySQL】基本操作&约束
2018-01-03 14:04
423 查看
注释
#这是一个单行注释- - select * from player;
- - 这也是一个单行注释
/*
这是一个
多行
注释*/
数据库操作
/显示所有数据库/show databases;
/创建新的数据库/create database onlinegame;
/使用某个数据库/use onlinegame;
/查看创建好的数据库信息/show create database onlinegame;
/删除某个数据库/drop database onlinegame;
表操作
/*在对表进行操作前一定要先使用数据库*/ use onlinegame; /*创建表*/ CREATE TABLE tb_employee1 ( id INT(11), name VARCHAR(25), deptId INT(11), salary FLOAT ) /*显示当前数据库中所有表*/ SHOW TABLES; /*删除数据库中的表*/ CREATE TABLE tb_dept01 ( id INT(11), name VARCHAR(25), deptId INT(11), salary FLOAT ); CREATE TABLE tb_dept02 ( id INT(11), name VARCHAR(25), deptId INT(11), salary FLOAT ); CREATE TABLE tb_dept03 ( id INT(11), name VARCHAR(25), deptId INT(11), salary FLOAT ); DROP TABLE IF EXISTS tb_dept01, tb_dept02, tb_dept03;
约束
/*主键约束(Primary Key Constraint)要求主键列的数据唯一,并且不允许为空。 主键能够唯一标识表中的一条记录,可以结合外键来定义不同的数据表之间的关系, 还可以加快数据库查询速度。主键为分两种*/ #1.单字段主键,指的是主键仅由一个字段构成。 (1)在定义列的同时指定主键 CREATE TABLE tb_employee2 ( id INT(11) PRIMARY KEY, name VARCHAR(25), depId INT(11), salary FLOAT ); (2)定义完所有列之后指定主键 CREATE TABLE tb_employee3 ( id INT(11), name VARCHAR(25), depId INT(11), salary FLOAT, PRIMARY KEY(id) ); #2.多字段联合主键,指的是主键由多个字段联合组成。 CREATE TABLE tb_employee4 ( name VARCHAR(25), deptId INT(11), salary FLOAT, PRIMARY KEY(name, deptId) ); /*外键约束(Foreign Key Constraints)用来在两个表的数据之间建立联系,它可以是一列或者多列, 一个表可以有一个或者多个外键。一个表的外键可以为空值,若非空值,则其 必须等于另一个表中主键的某个值。 注意事项:1.外键是表中的一个字段,它可以不是本表的主键,但对应另外一个表的主键。 2.定义外键后,不允许删除在另一个表中具有关联关系的行。 3.主表(父表)是指关联字段中主键所在的表,从表(子表)是指关联字段中外键所在的表。*/ #创建部门表 /*部门表 tb_dept1 字段名称 数据类型 备注 id INT(11) 部门编号 name VARCHAR(22) 部门名称 location VARCHAR(50) 部门位置 */ CREATE TABLE tb_dept1 ( id INT(11) PRIMARY KEY, NAME VARCHAR(22) NOT NULL, location VARCHAR(50) ); #定义表tb_employee5,让它的deptId字段作为外键关联到tb_dept1的主键id CREATE TABLE tb_employee5 ( id INT(11) PRIMARY KEY, name VARCHAR(25), deptId INT(11), salary FLOAT, CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCES tb_dept1(id) );
/*非空约束(NOT NULL Constraint)是指字段的值不能为空。对于使用了非空约束的字段 ,如果用户在添加数据时没有指定值,数据库系统会报错。*/ CREATE TABLE tb_employee6 ( id INT(11) PRIMARY KEY, name VARCHAR(25) NOT NULL, deptId INT(11), salary FLOAT ); /*唯一性约束(Unique Constraint)要求该列唯一,允许为空,但只能出现一个空值。 唯一约束可以确保一列或者几列都不出现重复值。*/ -- (1)在定义列的同时指定唯一性约束 CREATE TABLE tb_dept2 ( id INT(11) PRIMARY KEY, NAME VARCHAR(22) UNIQUE, location VARCHAR(50) ); -- (2)定义完所有列之后指定唯一性约束 CREATE TABLE tb_dept3 ( id INT(11) PRIMARY KEY, NAME VARCHAR(22), location VARCHAR(50), CONSTRAINT STH UNIQUE(name) ); /*唯一性约束和主键的区别 1.UNIQUE的字段可以有多个,PRIMARY KEY只能有一个。 2.PRIMARY KEY不能有空值,UNIQUE允许有空值。*/ /*默认约束(Default Constraint)是指定某列的默认值。*/ CREATE TABLE tb_employee7 ( id INT(11) PRIMARY KEY, name VARCHAR(25) NOT NULL, deptId INT(11) DEFAULT 1111, salary FLOAT ); /*设置数据表的属性值自动增加 插入记录时,经常希望系统自动生成字段的主键值,可以通过为表主键添加 AUTO_INCREMENT关键字来实现。默认情况下,AUTO_INCREMENT初始值为1,每 增加一条记录,字段自动加1。一个表只能有一个字段使用AUTO_INCREMENT约束, 且该字段必须为主键的一部分。*/ CREATE TABLE tb_employee8 ( id INT(11) PRIMARY KEY AUTO_INCREMENT, name VARCHAR(25) NOT NULL, deptId INT(11) DEFAULT 1111, salary FLOAT ); INSERT INTO tb_employee8(name, salary) VALUES('Lucy', 1000),('Lura', 1200),('Kevin', 1500); SELECT * FROM tb_employee8;
相关文章推荐
- MySQL数据表的基本操作一:创建表与表约束
- Mysql for MacOSX 安装和基本操作
- [Linux & Mysql] Linux下Mysql的基本操作
- MySql入门之一:DDL操作创建表(添加主键, 外键约束以及基本的数据类型)
- [Linux & Mysql] Linux下Mysql的基本操作
- PHP MySQL 基本操作 & Navicat for MySQL
- MySql数据库的基本操作-表数据中的 唯一约束 & 默认约束
- 后台学习之路(一) mysql(数据表基本操作以及约束初识)
- 数据库基本概念&MySQL基本操作详解
- mysql基本操作(表的增删查改)、约束、表设计
- MySQL day1---初涉MySQL 基本操作 数据类型 约束
- MySql之DDL操作创建表(添加主键, 外键约束以及基本的数据类型)
- mysql 基本操作
- MySQL 5.1学习笔记(1)-基本操作
- mysql基本操作
- MySQL基本操作
- mysql的基本操作(初学者)
- mysql中table schema的基本操作
- Mysql基本操作
- MySQL学习笔记(1)---基本使用以及基本操作