MySQL学习笔记(一)MySQL数据库的基本操作

1、MySQL服务启动和关闭

启动MySQL服务:
net start mysql //mysql是自己起的名字
关闭:
net stop mysql

登录MySQL数据库:
mysql -h hostname -u username -p
//hostname是服务器主机地址,username是用户名称,-p是密码
例如 mysql -h localhost -u rooot -p

2、操作数据库

1、显示已有的数据库
SHOW DATABASES;
2、创建数据库
CREATE DATABASE database_name;
CREATE DATABASE IF NOT EXISTS database_name ;
CHARACTER SET = GBK; //指定字符集
CREAT TABLE 表名 LIKE 源数据表名         //复制表结构,是空表
CREAT TABLE 表名 AS SELECT * FROM 源表名 //复制表数据,不包含主键,自动编号等内容

CREAT TABLE table1 LIKE table2;
INSERT INTO table1 SELECT * FROM table2; //复制一个表,表结构和内容都复制,
列的设置也复制。

3、显示创建的数据库的信息
SHOW CREATE DATABASE database_name;
4、修改数据库
ALTER DATABASE database_name
DEFAULT CHARACTER SET = UTF8        //设置默认字符集
DEFAULT COLLATE gbk_chinese_ci;    //设置默认校对规则 utf8_bin/gbk_chinese_ci

4、删除数据库
DROP DATABASE database_name;
5、展示数据库存储引擎
SHOW ENGINES;
6、查看默认的存储引擎
SHOW VARIABLES LIKE '%storage_engine%';

3、创建、修改和删除数据表 

3.1 创建数据表

1、创建数据表
CREATE TABLE table_name
(
    字段名1 数据类型[列级别约束条件] [默认值],
    ...
    [表级别约束条件]
);
比如
CREAT TABLE tb_emp1
(
    id INT(11) 
    name VARCHAR(25)
    depid INT(11),
    salary FLOAT
);

2、使用主键约束
id INT(11) PRIMARY KEY
或者在定义完之后使用:
PRIMARY KEY(id)
3、多字段联合主键
PRIMARY KEY(name,deptid)

使用外键约束 

使用外键约束:
1、外键用来在两个表的数据之间建立连接,他可以是一列或者多列。
2、一个表可以有一个或多个外键。
3、外键对应的是参照完整性,一个表的外键可以是空值,若不为空值,则每一个外键值必须等于
另一个表中主键的某个值。
4、外键:首先他是表中的一个字段,它可以不是本表的主键,但对应另外一个表的主键。
5、外键的主要作用是保证数据引用的完整性,定义外键后,不允许删除在另一个表中具有关联
关系的行。

主表(父表):对于具有关联关系的两个表而言,相关联字段中主键所在的那个表为主表。
从表(子表):外键所在的那个表为从表。

外键的定义格式:
[CONSTRAINT <外键名>] FOREIGN KEY 字段名1 [ ,字段名2,...]
    REFERENCES <主表名> 主键列1 [,主键列2,...]

例子:CONSTRAINT 外键名字 FOREIGN KEY(deptId) REFERENCES 表名(id)
depId 是本表某个字段,id是关联的主表的主键。

 使用非空约束

非空约束(Not Null Constraint)是指字段的值不能为空。
语法规则:
字段名 数据类型 NOT NULL

例子:
name VARCHAR(25) NOT NULL

 使用唯一性约束

唯一性约束(Unique Constraint)要求该列唯一,允许为空,但只能出现一个空值。
唯一性约束可以保证一列或者几列不出现重复值

语法规则:
字段名 数据类型 UNIQUE

例子:
name VARCHAR(25) UNIQUE

UNIQUE和PRIMARY KEY的区别:一个表中可以有多个字段声明为UNIQUE,但是只能有一个PRIMARY KEY声明
声明为PRIMARY KEY的列不允许有空值,但是声明为UNIQUE可以允许一个空值(NULL)

使用默认约束

默认约束(Default Constraint)可以指定某列的默认值。
规则:
字段名 数据类型 DEFAULT 默认值

例子:
depId int(11) DEFAULT 1111

 设置表的属性值自动增加

1、在每次插入新纪录时,系统会自动生成字段的主键值,这种功能可以通过为
表主键添加AUTO_INCREMENT关键字来实现。默认初始值为1,每增加一条
记录,其值加1.
2、一个表只能有一个字段使用AUTO_INCREMENT约束,且该字段必须为主键的一部分。
3、AUTO_INCREMENT约束的字段可以是任何整数类型(TINYINT、SMALLINT、INT、BIGINT)等

语法规则:
字段名 数据类型 AUTO_INCREMENT

3.2 查看数据表结构

查看表的基本结构语句DESCRIBE

用DESCRIBE/DESC语句可以查看表的字段信息,其中包括字段名、字段数据类型、
是否是主键、是否有默认值等

语法结构:
DESCRIBE 表名; 
DESC 表名;
Field    Type    Null                    
字段名   数据类型  是否可以存储Null值  

 Key                                    Default            Extra
该列是否已编制索引                    该列是否有默认值    附加信息,如AUTO_INCREMENT
PRI表示该列是主键一部分               如果有,值是多少
UNI表示该列是UNIQUE索引的一部分
MUI表示在列中某个给定值允许出现多次

 查看表的基本结构语句SHOW CREATE TABLE

1、用SHOW CREATE TABLE语句可以显示创建表时的CREATE TABLE语句
语法格式:
SHOW CREATE TABLE <表名\G>
加\G可使显示结果更加直观

2、使用SHOW CREATE TABLE语句,不仅可以查看创建表时的详细语句,而且可以查看存储引擎和字符编码

 3.3 修改数据表

1、修改表名
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
TO 可省略

ALTER TABLE name1 RENAME name2

2、修改字段的数据类型
ALTER TABLE <表名> MODIFY <字段名> <数据类型>
ALTER TABLE table_name MODIFY name VARCHAR(30);

3、修改字段名
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
ALTER TABLE table_name CHANGE location loc  VARCHAR(50);

4、添加字段
ALTER TABLE <表名> ADD <新字段名> <数据类型>
    [约束条件] [FIRST | AFTER 已存在的字段名];
FIRST 为可选参数,其作用是将新添加的字段设置为表的第一个字段
AFTER 为可选参数,其作用是将新添加的字段添加到指定的“已存在字段”后面

ALTER TABLE table_name ADD managerID INT(10);
在字段的最后添加
ALTER TABLE table_name ADD column1 VARCHAR(20) not null;
非空约束
ALTER TABLE table_name ADD column2 INT(10) FIRST;
添加为第一个字段
ALTER TABLE table_name ADD column3 INT(10) AFTER 字段名;
在某个字段之后添加

5、删除字段
ALTER TABLE <表名> DROP 字段名;

6、修改字段的排列位置
ALTER TABLE <表名> MODIFY <字段1> <数据类型> FIRST|AFTER <字段2>;

7、更改表的存储引擎
ALTER TABLE <表名> ENGINE =<修改之后的存储引擎名>;

8、删除表的外键约束
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>

 3.3 删除数据表

1、删除没有被关联的表
DROP TABLE [IF EXISTS] 表1,表2,...表n;

2、删除被其他表关联的主表
数据表之间存在外键关联的情况下,如果直接删除父表,结果会显示失败。
原因是如果直接删除,将会破坏表的参照完整性。可以先删除子表,再删除父表。
或者先解开外键约束,再删除父表。

ALTER TABLE table_name DROP FOREIGN KEY 外键名字;
DROP TABLE 父表名字;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值