MYSQL基础操作(船新版本,值得拥有!)


前言

学无止境,笔勤不辍。作为此专栏的开篇之作,简单介绍这个专栏,目的是记录笔记,分享心得,然后方便新手入门及复习,笔者将会在这一期间不间断的更新,希望大家多多关注,一起学习和进步!
使用的是MYSQL 之后也会把安装配置程序的教程发布


TIPS:mysql语言关键字不区分大小写

一、数据库的相关操作

创建新的数据库:

使用MySQL的时候为了避免各数据集互相影响,在每一次开始新的项目或
任务的初始,就要重新创建一个database,避免数据相互影响。

整体模板如下:

       CREATE [IF NOT EXISTS] define_database_name  (方框中的 if not exists 用于判断本次要创建的数据库是否存在,不存在则创建数据库,可避免报错)
       [CHARACTER SET charset_name](设置编码格式)
       [COLLATE collation_name];(设置排序规则)
       (后两者,笔者进行更详细的研究后会继续更新)
      

数据库的展示:

   在工作中,我们会建立很多个数据库,这样就会造成数据库名的遗忘和混淆,此时就可以用数据库展示指令,帮助我们确定要使用的数据库。
     SHOW DATABASES;

数据库展示

数据库的选定:

   工作学习中,我们可能有多个数据库,但我们要在特定的数据库里进行特定的操作,所以我们要指定数据库:
    USE <exist_database_name>;

数据库的删除:

工作中,删除数据库要十分小心(千万不能删库跑路,哈哈)
具体代码如下:

    DROP DATABASE [IF EXISTS] <exist_database_name>;
    (如果数据库存在则删去)

二、选定数据库,对图表的操作

1.建立表

代码如下:

CREATE TABLE <table_name>
(<column_name1>  <types> [<默认值> <标识列设置> <完整性约束>],
<column_name2>  <types> [<默认值> <标识列设置> <完整性约束>],
...
<column_name3>  <types> [<默认值> <标识列设置> <完整性约束>]);

其中types 数据类型有以下:
1.INT 或INTEGER:全字长整数型
2.SMALLINT:半字长整数型
3.DECIMAL(p[,q])或者DEC(p[,q]),一共p位,小数位数是q位,
0<=q<=p<=15,q=0时,可忽略
4.FLOAT:双字长的浮点数
5.CHAR(n)或CHARTER(n):定长,长度为n的字符串
6.VARCHAR(n):最大长度为n的可变字符串
7.DATETIME:日期时间型,格式可设置
<标识列设置>:IDENTITY(初始值,步长):每增加一行数据,添加独一的、递增的值(在标识列)
<默认值>:DEFAULT ( 常量) 将此列默认设置为该常量
<完整约束性>:
1.NOT NULL :不能为空
2.NULL: 可以为空
3.UNIQUE:该列不能有两个相同的值

查看数据表

     show tables;

查看列(属性)信息:

     desc 表名称;

2.修改表

代码如下:

ALTER TABLE <表名>
[ADD <列名> <数据类型> [列的完整性约束]|[ADD <表级完整性约束>]
[ALter COLUMN 列名 新的数据类型]
[DROP COLUMN  列名]
[DROP CONSTRAINT 表级完整性约束];

ADD 为表增加一个新列/表级完整性约束,注意,如果增加的是新列,那它必须可为空,或设置了默认值
DROP COLUMN:删除表中原有的列
ALTER COLUMN:修改原有列的数据类型

删除表:

    DROP TABLE 表名1[,表名2...];

三、对数据的操作:

增加元组:

INSERT INTO 表名 [属性名1,属性名2...] 
VALUES(数据1,数据2...)

若有属性名清单,则属性名和数据要一一对应,数据类型要相同,位置也要一一对应。若没有,则要输入完整的一组数据
tips: 若有属性完整性约束为 NOT NULL,且没有默认值时, 插入数据组中一定要有该属性对应的数据 属性名中一定要有该属性名!
常量中字符串常量,日期常量用单引号括起来

修改数据表的方法:

UPDATE <表名>
SET <列名>=<表达式>[,列名=表达式...]
[WHERE 条件];

指定表名内,符合条件的记录中规定的列名的值更新
若没有WHERE 修改全部

删除记录:

DELETE FROM <表名>
[WHERE <条件>];

指定表中符合条件的记录删去
若没有WHERE 则删去所有记录,只留下表的框架

四、数据查询:

代码如下:

SELECT [DISTINCT] [top n[percent]]<列名1[,列名2,列名3...]>
FROM <表名>
[WHERE <判断条件(不可包含集函数)>]
[GROUP BY <列名>
[HAVING <判断语句(可以包含集函数)>]]
[ORDER BY <列表名 ASE(升序)|DASE(降序)>]

若 代码为:

SELECT *
FROM <表名>;

则返回表的所有内容
[DISTINCT]: 删除表中的重复行,再返回
[top n[percent]] 返回前n个 或 返回前n%个元组

计算:

SELECT age-10
FROM <表名>;

别名:

SELECT 表达式 AS 列别名
 FROM <表名>;

集函数:

| 函数 | 功能|
|COUNT([DISTINCT/ALL)<列名>[*]|记录某列/元组的个数|
|MAX(<列名>)|返回某列最大值|
|MIN(<列名>)|返回某列最小值|
|SUM([DISTINCT|ALL)<列名>|返回某列值总和(数值型)|
|AVG([DISTINCT|ALL)<列名>|返回某列值平均(数值型)|

运算符

| 运算符 | 功能|
|=,>,<,<=,>=,<>(不等于),!=|基础操作|
|IN NOT IN|属性值是否在一组值中|
|BETWEEN AND NOT BETWEEN AND|属性值在某一范围,左闭右闭|
|IS NULL IS NOT NULL|检查属性值是否为空|
|LIKE NOT LIKE|字符串匹配|

tips:
在 WHERE (列名)LIKE ''
''中 %表示多个字符 _表示单个字符  ‘李%’表示以李开头等等

总结

以上就是今天要讲的内容,未完待续…

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值