MySQL笔记(一)创建数据库、创建表、修改表、删除表,以及建立约束
这是我在学习Mysql之路上做的笔记,今天将它粘出来。这一篇比较基础主要是创建数据库、创建表、修改表、删除表,以及建立约束:非空约束、主键约束、外键约束、唯一值约束。有错误的欢迎大家指出。。。
-- 命令行创建数据库
#1、创建数据库
CREATE DATABASE luo DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#2、给数据库授权,
#其中密码是可选项;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON luo.* TO root@localhost_3309 identified by 'root';
#删除数据库和#使用数据库
DROP DATABASE luo;
USE luo;
CHAR的长度是固定的,而VARCHAR的长度是可以变化的,
比如,存储字符串“abc",对于CHAR (10),表示你存储的字符将占10个字节(包括7个空字符),而同样的VARCHAR2 (10)则只占用3个字节的长
#创建部门表
CREATE TABLE tb_dept(deptno INT PRIMARY KEY auto_increment COMMENT '部门编号',dname VARCHAR(18) COMMENT '部门名称',loc VARCHAR(100) COMMENT '部门地址')engine=innodb DEFAULT charset=utf8;
#显示表的结构
DESC tb_dept;
#删除表,信息以及结构
DROP TABLE tb_dept;
-- 删除
#DELETE删除表数据,保留表结构,可以回滚
DELETE FROM tb_dept WHERE dname='销售部';
#DROP删除表结构和数据:删除最快,直接从内存删除
DROP TABLE tb_dept;
#TRUNCATE清空一个表数据,不可以回滚
TRUNCATE TABLE tb_dept;
#修改列类型
ALTER TABLE tb_dept MODIFY dname INT;ALTER TABLE tb_dept MODIFY COLUMN dname VARCHAR(18);
#增加列
ALTER TABLE tb_dept ADD COLUMN phone VARCHAR(15);
#删除列
ALTER TABLE tb_dept DROP COLUMN phone;
#更改列名
ALTER TABLE tb_dept CHANGE dname dept_name VARCHAR(18);ALTER TABLE tb_dept CHANGE COLUMN dept_name dname VARCHAR(18);
#更改表名两种方法
ALTER TABLE tb_dept RENAME dept;RENAME TABLE dept TO tb_dept;
-- 1、创建表国家/地区,并确保不会在表格中输入除中国China,美国America,日本Japan之外的任何国家/地区
CREATE TABLE countries(country_id VARCHAR(5) NOT NULL,country_name enum('China','America','Japan') DEFAULT 'China')ENGINE=INNODB DEFAULT charset=utf8;INSERT countries VALUES('1','America');INSERT countries(country_id) VALUES('1');SELECT *FROM countries;DROP TABLE IF EXISTS countries;
建立约束:非空约束、主键约束、外键约束、唯一值约束
#约束:保证数据库的完整性
#1、非空约束 not null
#2、主键约束primary key
/*一个表只允许有一个主键,
作用:唯一确定一行数据的字段
主键可以是一个字段也可以是多字段的组合
当创建主键约束时,MySQL会为主键创建索引
*/
#3、外键约束foreign key
#4、唯一值约束unique
#5、检查约束check在MySQL中不起作用,CHECK子句会被分析,但是会被忽略。
#在建表时建立约束
#创建员工表
CREATE TABLE tb_emp(empno INT PRIMARY KEY auto_increment COMMENT '员工编号',ename VARCHAR(18) NOT NULL COMMENT '员工姓名',job varchar(8) COMMENT '员工职位' enum(),mgr int COMMENT '上级领导',hiredate DATE COMMENT '入职时间',sal int COMMENT '薪资',comm int COMMENT '奖金',phone VARCHAR(18) UNIQUE COMMENT '电话',dept_id int COMMENT '部门编号',CONSTRAINT fk_emp FOREIGN KEY (dept_id) REFERENCES tb_dept(deptno))COMMENT='员工表';
#显示表的结构
DESC tb_emp;
#显示创建表的命令
SHOW CREATE TABLE tb_emp;
#删除表
DROP TABLE tb_emp;
#在建表之后建立约束
#创建员工表
CREATE TABLE tb_emp(empno INT COMMENT '员工编号',ename VARCHAR(18) COMMENT '员工姓名',job VARCHAR(8) COMMENT '员工职位',mgr INT COMMENT '上级领导',hiredate DATE COMMENT '入职时间',sal INT COMMENT '薪资',comm INT COMMENT '奖金',phone VARCHAR(18) COMMENT '电话',dept_id INT COMMENT '部门编号')COMMENT='员工表';
#非空约束NOT NULL
ALTER TABLE tb_emp MODIFY ename VARCHAR(18) NOT NULL;
#删除非空约束
ALTER TABLE tb_emp MODIFY ename VARCHAR(18);
#主键约束PRIMARY KEY
ALTER TABLE tb_emp ADD PRIMARY KEY (empno);
#删除主键约束
ALTER TABLE tb_emp DROP PRIMARY KEY;
#外键约束FOREIGN KEY
ALTER TABLE tb_emp ADDCONSTRAINT fk_emp FOREIGN KEY (dept_id) REFERENCES tb_dept(deptno);
#删除外键约束(外键的名字由MySQL自动非配的,自己给的不起作用,Sql标准要起名)
ALTER TABLE tb_emp DROPFOREIGN KEY fk_emp;
#唯一约束UNIQUE
ALTER TABLE tb_emp ADD UNIQUE(phone);
#删除唯一约束
ALTER TABLE tb_emp DROP INDEX phone;
#修改字段为自动增长
ALTER TABLE tb_empMODIFY empno INT auto_increment;
#取消字段自动增长
ALTER TABLE tb_empMODIFY id INT
MySQL笔记(一)创建数据库、创建表、修改表、删除表,以及建立约束相关推荐
- Mysql基础知识:创建、查看、修改和删除表
Mysql 创建.查看.修改和删除表 1. 创建表 创建表的语法形式: CREATE TABLE 表名 ( 属性名 数据类型 约束条件,属性名 数据类型 约束条件,...) ENGINE=存储引擎名 ...
- mysql alter table drop constraint_MySQL添加,修改,删除表的列,约束等表的定义。
ALTER TABLE:添加,修改,删除表的列,约束等表的定义. 查看列:desc 表名; 修改表名:alter table t_book rename to bbb; 添加列:alter table ...
- mysql创建表格1warning_MySQL:创建、修改和删除表
在说创建.修改和删除表前,我们还是要进行一个操作的简单说明: 1.登陆数据库系统 在命令行中登陆MySQL数据库管理系统,输入一下内容: mysql -h localhost -u root -p 很 ...
- 虚拟机mysql创建一个表_MySQL:创建、修改和删除表
其实对很多人来说对于SQL语句已经忘了很多,或者说是不懂很多,因为有数据库图形操作软件,方便了大家,但是我们不能忘记最根本的东西,特别是一些细节上的东西,可能你用惯了Hibernate,不用写SQL语 ...
- mysql创建表时打错了怎么修改_MySQL 创建,修改和删除表
登录数据库系统: 其中,"-h"参数指连接的主机名,因此此处是连接本机,所以后面的内容为localhost: "-u"参数表示用户名,此处的用户名为 root; ...
- SQLite 入门教程(二)创建、修改、删除表
一.数据库定义语言 DDL 在关系型数据库中,数据库中的表 Table.视图 View.索引 Index.关系 Relationship 和触发器 Trigger 等等,构成了数据库的架构 Schem ...
- SQL server——sql命令创建、修改、删除表之记录
目录 学习内容.sql命令创建.修改.删除表 创建表 指定所属文件组 修改表 增加一列number 更改列属性 删除某一列 重命名表 删除表 分区表 创建表 添加文件组 分别为其添加数据文件 创建分区 ...
- sql server基础语法 创建数据库 创建表
sql server基础语法 创建数据库 创建表 1.创建数据库 2.表的创建 3.在现有表中添加标识列 4.创建外键 5.添加外键 6.约束 7.创建局部临时表 8.创建全局临时表 9.创建具有ch ...
- DDL-操作数据库、操作数据表、DML-增加、修改、删除表中数据、DQL-表数据查询
SQL 语句分类: DDL(Data Definition Language) :数据定义语言.用来操作数据库,表,列等. DML(Data Manipulation Language) :数据操作语 ...
- SQL数据库插入、修改、删除及删除表中数据操作示例(insert、update)
目录: 1.数据库的连接.创建 2.对字段的操作:(alter table) 3.SQL数据库插入.修改.删除操作 4.数据库的查询操作大全(select) 5.多表查询(join on) 6.约束操 ...
最新文章
- GitHub 致歉:请再爱我们一次!
- 【LeetCode】69. Sqrt(x) (2 solutions)
- java设计模式之设计原则②依赖倒置原则
- 谈谈HashMap线程不安全的体现
- C语言课后习题(27)
- 苹果拟明年Q1推出配有mini-LED显示屏的27英寸iMac
- HDU - 6033 Add More Zero
- linux mint关于web开发的相关环境配置
- swagger 使用
- hadoop2.X集群安装与应用
- Charles的安装及设置
- 99乘法表c语言显示坐标,C语言打印九九乘法表
- 原生JS实现HTML文件上传,简单实现js上传文件功能
- python2 python3 print_python2和python3中print有什么区别
- Python 第三方模块 机器学习 Scikit-Learn模块 有监督学习1 交叉分解,高斯过程,保序回归
- Docker基本概念
- Android-实现邮箱格式的验证
- CMU-MOSEI数据集解读
- 安卓系统管理软件_2020年了,这些高效率软件你必须得会!
- 全球十大外盘外汇交易平台排行榜