返回顶部
首页 > 资讯 > 数据库 >第六天MySQL
  • 864
分享到

第六天MySQL

第六天MySQL 2021-10-26 02:10:03 864人浏览 猪猪侠
摘要

DDL语言库与表的管理(创建、修改、删除)、一些常见的数据类型(整形、浮点|定点、日期,字符)   2020 5/9   二十二、DDL(数据定义语言)->用于库和表的管理 一、 库的管理 a)    

第六天MySQL

DDL语言库与表的管理(创建、修改、删除)、一些常见的数据类型(整形、浮点|定点、日期,字符)

 

2020 5/9

 

二十二、DDL(数据定义语言)->用于库和表的管理

一、 库的管理

a)        创建

b)       修改

c)        删除

二、 表的管理

a)        创建: create

b)       修改: alter

c)        删除: drop

#库的管理

库的创建

语法:

create database [if not exists] 库名;(if not exists->是为了提高容错性,没有就创建、有的就不创建)

如:CREATE  DATABASE if not exists books;

 

库的修改(基本上不修改,若想修改库名,则需要在服务端的data里修改)

修改库的字符集:

ALTER DATABASE 库名 CHARACTER SET 字符集;

如:

ALTER DATABASE books CHARACTER SET gbk;

库的删除

DROP DATABASE IF EXISTS库名;

如:DROP DATABASE IF EXISTS books;

 

#表的管理

 

表的创建

语法:

create table(if not exists) 表名(

        列名 类型[(长度) 约束],

        列名 类型[(长度) 约束],

        列名 类型[(长度) 约束],

        …

        列名 类型[(长度) 约束]

);

 

案例:

CREATE TABLE emp5(

       id INT(7),

       First_name VARCHAR(25),

       Last_name VARCHAR(25),

       Dept_id INT(7)

); (可使用if not exists来提高容错性)

查看表结构:

 

 

表的修改

①     修改列名

②     修改列的类型或约束

③     添加新列

④     删除列

⑤     修改表名

语法:

alter table 表名 change|modify|drop|add column 列名 【列类型 约束】;

 

#修改列名

语法:

ALTER TABLE 表名 CHANGE COLUMN旧列名 新列名 新类型(一定要加上);

案例:把Last_name字段名称改为last_name;

ALTER TABLE emp5 CHANGE COLUMN Last_name last_name VARCHAR(30);

#修改列的类型或约束

语法:ALTER TABLE 表名 CHANGE COLUMN列名 新类型或约束;

案例:修改了last_name字段的长度

ALTER TABLE emp5 MODIFY COLUMN last_name VARCHAR(49);

#添加新列

语法:

ALTER TABLE 表名 ADD 新列名 新类型【约束】;

案例:向表中添加新列test_column,类型自定义

ALTER TABLE emp5 ADD COLUMN test_column VARCHAR(25);

#删除列

语法:

ALTER TABLE emp5 ADD COLUMN test_column VARCHAR(25);

案例:删除表中的test_column字段

ALTER TABLE emp5 DROP COLUMN test_column;

语法:

ALTER TABLE 表名 RENAME [TO] 新表名;

案例:把表名重命名为emp6;

ALTER TABLE emp5  RENAME TO emp6;

 

表的删除

语法:

drop table 表名;

案例:

DROP TABLE 【if exists】emp6;(可使用if exists来提高容错性)

  1. 表的复制

#仅仅复制表的结构(使用LIKE关键字)

CREATE TABLE employees2 Like employees;

 

 

 

#复制表的数据+结构(使用子查询)

CREATE TABLE employee3

SELECT * FROM employees;

 

 

#只复制部分表的数据(使用带筛选条件的子查询)

CREATE TABLE employee4

SELECT * FROM employees

WHERE employee_id>150;

 

#仅仅复制某些字段(不携带数据)

CREATE TABLE employee5

SELECT job_id,department_id FROM employees

WHERE 1=0;(只要where后的筛选条件不成立,那么就不会接待数据)

 

 

 

二十三、常见的数据类型

分类:

数值型:

       整形

       小数:

              浮点型

              定点型

字符型:

       较短的文本:char、varchar

       较长的文本:text、bolb(较长的二进制数据)

#整形

类型                     tinyint  smallint    mediumint   int/integer    bigint

所占字节大小         1         2             3                  4                  8

特点:

①     如果不设置有符号还是无符号,则默认为有符号,如果想设置为无符号,则需要添加unsigned关键字

②     如果要插入的数据超出了整形的范围,会报出out of range异常,并且插入临界值

③     如果不设置长度,则系统会有默认的长度

④     类型中的长度字段代表的是显示数据的最大宽度,若数据小于该长度则会用0在左边填充,但必须搭配zerofull关键字使用(此时默认为无符号整形)

 

#小数

浮点型

a)        float(M,D)

b)       double(M,D)

定点型

a)        dec(M,D)

b)       decimal(M,D)

特点:

①     M代表的是整数和小数部分的总长度,D代表的是小数部位的长度,若超过范围则插入临界值

②     M和D度可以省略,如果是float和double,则会根据插入的数值来决定精度,如果是decimal,则M默认为10,D默认为0

③     定点型的精度较高,如果需要求插入的数值类型精度较高如货币元素那则可以考虑使用

使用原则:所选择的类型越简单越好,能保存的数值的类型越小越好

 

#字符型

较短的文本

char(M)

varchar(M)

binary和varbinary(包含二进制文本字符串)

enum->枚举类型,要求插入的值必须属于列表中指定的值之一

set->集合类型,和Enum类型类似,里面可以保存0~64个成,一次可以选取多个成员

较长的文本

text

bolb(较长的二进制数据)

特点:

①     关于char 和varchar

                 写法                      M的意思                                                  特点                   空间的耗费

char        char(M)          最大的字符数(可以省略,默认为1)      固定长度的字符              高

varchar    varchar(M)    最大的字符数(不可省略)                       可变长度的字符              低

关于固定与可变长度,那“数字”举例,char会给它分配M个字符大小的空间,而varchar 就给它分配2个空间,长度随输入的值变化

 

#日期型

 

date:只保存日期

time:只保存时间

year:只保存年

                            字节         范围             时区等的影响

datetime                8          1000-9999              受

timestamp             4           1970-2038            不受

 

具体如下:

CREATE TABLE tab_date(

                     t1 DATETIME,

                     t2 TIMESTAMP

);#创建表

 

INSERT INTO tab_date VALUES(now(),now());

SELECT * FROM tab_date;

 

 

 

show VARIABLES like "time_zone";

set time_zone ="+9:00";#改变时区

 

可发现改变时区后,t2的值发生变化,受到了时区的影响

 

您可能感兴趣的文档:

--结束END--

本文标题: 第六天MySQL

本文链接: https://lsjlt.com/news/5996.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 第六天MySQL
    DDL语言库与表的管理(创建、修改、删除)、一些常见的数据类型(整形、浮点|定点、日期,字符)   2020 5/9   二十二、DDL(数据定义语言)->用于库和表的管理 一、 库的管理 a)    ...
    99+
    2021-10-26
    第六天MySQL
  • python-selenum3 第六天—
    1.循环遍历所有的下拉列表值2.单选下拉列表3.多选择列表的选中与取消4.操作单选框、多选框以及断言及全部选中5.断言页面源码中的关键字6.截屏7.拖拽页面元素 1. 循环遍历所有的下拉列表值 <!--练习的html-->...
    99+
    2023-01-31
    第六天 python
  • python爬虫第六天
        今天继续学习一些实战爬虫   链接爬虫实战       要求:把一个网页里所有的链接地址提取出来     思路:(1)确定爬取的入口链接               (2)构建提取链接的正则表达式            ...
    99+
    2023-01-30
    爬虫 第六天 python
  • python3第六天(数据结构)
    python3列表:    列表是可修改。    列表可以当作栈来使用(先进后出),利用append()和pop()方法。    列表也可以当队列来使用,利用popleft()方法。    列表推导式:对某个序列的所有元素依次进行...
    99+
    2023-01-31
    数据结构 第六天
  • MySQL第六课
    SELECT [DISTINCT]     * /{字段名1,字段名2,字段名3,.........} FROM 表名 [WHERE 条件表达式1] [GROUP BY 字段名[HAVING 条件表达式2]...
    99+
    2022-03-23
    MySQL第六课
  • 第一天MySQL
    MySQL学习笔记   2020/5/4 一、 数据库的相关概念 数据库的好处 1   能够永久性的保存数据,实现数据持久化 2   可以实现结构化查询,方便管理   2.数据库相关概念 1数据库(DB->database):...
    99+
    2020-05-20
    第一天MySQL
  • 第二天MySQL
    SQL条件查询、排序查询、一些常见函数 2020/5/5 一、 DQL条件查询 语法:(执行顺序已标出) SELECT      查询列表                      3 FORM...
    99+
    2021-02-10
    第二天MySQL
  • 第三天MYSQL
    第三天MySQL学习 :分组函数、分组查询、连接查询(等值连接、非等值连接、自连接) 2020/5/6 分组函数:(分组函数用作统计使用,又称聚合函数、统计函数或组函数)  #sum(求和)、avg(平...
    99+
    2021-10-26
    第三天MYSQL
  • 第五天MYSQL
    分页查询、联合查询、DML(修改、删除、插入语句) 2020 5/9   十九、分页查询 应用场景:当要显示的数据,一页显示不全,需要分页提交sql请求 语法:(执行顺序已标出)          SE...
    99+
    2021-11-05
    第五天MYSQL
  • 第四天MySQL
    第四天MySQL 连接查询(内连接、外连接、交叉连接)(sql99版本下) 子查询: select 后面(标量子查询) from 后面(表子查询) where 或having后面(标量子查询...
    99+
    2020-08-04
    第四天MySQL
  • MySQL第三天
    MySQL第二天 关键词:分组聚合 自关联 物理上一张表,逻辑上是两张表 create table areas( id int primary key, atitle varchar(20)...
    99+
    2024-04-02
  • java基础的详细了解第六天
    目录1、this关键字1.1 “this.属性”表示本类属性1.2“this”表示调用本类方法1.3“this”表示当前对象1.4引用传递进阶分析1.5对象比较1.6引用传递实际应用...
    99+
    2024-04-02
  • mysql学习11:第六章:索引
      1.   索引 1.1.   二叉索引 B+tree是由二叉树》平衡二叉树》B-tree演化而来。 二叉树每个节点最多两个子节点,左子树键...
    99+
    2024-04-02
  • Java面试题冲刺第六天--网络编程1
    目录面试题1:说一下TCP连接的三次握手和四次挥手吧正经回答:深入追问:追问1:为什么连接的时候是三次握手,关闭的时候却是四次握手?追问2:如果已经建立了连接,但是客户端突然出现故障...
    99+
    2024-04-02
  • Java面试题冲刺第十六天--消息队列
    目录面试题1:说说你对消息队列的理解,消息队列为了解决什么问题?解耦异步削峰追问1:消息队列有什么优缺点面试题2:对于消息中间机,你们是怎么做技术选型的?面试题3:如何确保消息正确地...
    99+
    2024-04-02
  • 第二十六天- C/S架构 通信流程 so
      1.C/S架构   C/S架构:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可是物理层面)来划分的。这里客户端一般指需先安装再执行的应用程序,对操作系统依赖性较大;服务端即是这类程序对应的服...
    99+
    2023-01-30
    架构 六天 流程
  • MySQL必知必会--第十六章~第十七章
    使用带聚集函数的联结     select customers.cust_name, customers.cust_id, count(orders.order_num) as num_id from customers  inn...
    99+
    2016-07-26
    MySQL必知必会--第十六章~第十七章
  • 【Python之旅】第六篇(六):Pyt
        关于进程与线程的对比,下面的解释非常好的说明了这两者的区别:    这里主要说明关于Python多进程的下面几点:1.多进程的使用方法 2.进程间的通信之multiprocessing.Manager()使用 3.Python进程池...
    99+
    2023-01-31
    之旅 第六篇 Python
  • Java面试题冲刺第二十六天--实战编程
    目录面试题1:你们是怎样保存用户密码等敏感数据的?面试题2:怎么控制用户请求的幂等性的?1.设置唯一索引:防止新增脏数据2.token机制:防止页面重复提交3.悲观锁4.乐观锁5.分...
    99+
    2024-04-02
  • Java面试题冲刺第二十六天--实战编程2
    目录面试题2:怎么理解负载均衡的?你处理负载均衡都有哪些途径?1、【协议层】http重定向2、【协议层】DNS轮询3、【协议层】CDN4、【协议层】反向代理负载均衡5、【网络层】IP...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作