数据表

数据库的基本操作(2)

ε祈祈猫儿з 提交于 2019-12-02 19:06:09
一、创建数据表 需要注意的是,在操作数据表之前,应该使用“USE 数据库名”指定操作是在哪个数据库中进行,否则会抛出“No database selected”错误。 创建数据表的基本语法格式如下所示: CREATE TABLE 表名 ( 字段名1,数据类型[完整性约束条件], 字段名2,数据类型[完整性约束条件], ...... 字段名n,数据类型[完整性约束条件] ) 例如下图: 为了验证数据表是否创建成功,需要使用SHOW TABLES语句进行查看,具体执行结果如下所示: 二、查看数据表 使用SHOW CREATE TABLE查看数据表在MySQL中,SHOW CREATE TABLE语句不仅可以查看创建表时的定义语句,还可以查看表的字符编码。SHOW CREATE TABLE语句的基本语法格式如下所示: SHOW CREATE TABLE 表名; 在上述格式中,“表名”指的是要查询数据表的名称。 使用SHOW CREATE TABLE语句查看appled表,SQL语句如下所示: SHOW CREATE TABLE appled; 执行结果如下: 在MySQL中,使用DESCRIBE语句可以查看表的字段信息,其中包括字段名、字段类型等信息。DESCRIBE语句的基本语法格式如下所示: DESCRIBE 表名; 或简写为: DESC 表名;

对数据表的操作

不羁的心 提交于 2019-12-02 16:17:33
1.创建数据表 1>.调用数据库命令:USE itcast; 命令输入正确后的结果 Database changed ; 2>.创建时数据表:CREATE TABLE student_tb -> ( -> id INT(10), -> name CHAR(20), -> age INT(2), -> sex CHAR(5) -> ); 命令输入正确后的结果 Query OK, 0 rows affected 2.查看数据表是否创建成功:SHOW TABLES; 命令输入正确后的结果 +------------------+ | Tables_in_itcast | +------------------+ | student_tb | +------------------+ 1 row in set 3.查看已创建数据表信息:SHOW CREATE TABLE student_tb; 命令输入正确后的结果 +------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

解决数据库备份前后数据表不一致的情况

北战南征 提交于 2019-12-02 16:12:15
以前在某公司就职时,使用ORACLE数据库,做后台业务开发工作,经常查询数据库,通过查询数据库,来查找系统存在的bug。 系统测试通过上线后,难免有一些问题没有测试出来,测试的目的是尽可能的减少bug,不是把bug全部消灭,bug是不可能被消灭的。 没有测试出来的bug,就需要通过分析线上数据库,通过数据的一致性,来判断是否存在问题。 开始的时候,我们在分析数据的时候,经常发现明细和统计对不上,会员的余额和明细对不上,充值减去消费不等于余额,经过分析也不可能是系统的问题, 经过几个讨论,终于发现,原来是数据库备份的时候,有业务正在发生。比如数据库比较大,A表刚备份完,发生了一笔业务,修改了A表和B表,但A表已经备份完了, 所以备份文件里A表是业务发生前的,B表是业务发生后的。这样就会造成AB表数据不一致。 解决的办法 这里我起了一个优雅的名字“静止备份”,什么意思呢?就是在数据库静止时进行备分。 尽可能在不发生的业务的时间点备份,一般国内客户选择在0点到6点之间备份都是可以的,建议在凌晨3点备份。 或者备份前,停掉业务,比如关闭IIS等。 来源: https://www.cnblogs.com/zhupengfei/p/11753756.html

MySQL

馋奶兔 提交于 2019-12-02 16:09:33
启动mysql服务: net start mysql 停止服务 net stop mysql 如下: -V或者--version 输出版本信息 -u或者--user用户名 -p或者--password密码 -P或者--port端口号 -h或者--host服务器名称 -D或者--database打开指定数据库 mysql退出: mysql > exit; mysql > quit; mysql > \q; 查看版本 登录mysql 更改mysql 标识符: 查看当前数据库的版本号: 显示当前日期时间: 显示当前用户: 查询数据库里的数据表 创建数据库: 查看数据库: 创建数据库,数据库已经存在: 添加if not exists 查看警告: 查看数据库创建的方式 使用编码方式创建数据库: 修改数据库: 修改编码方式 表示已经修改成功 删除数据库: 表示已经删除成功: 删除已经不存在的数据库: 删除数据库,判断是否已经存在: use 数据库名;-->打开数据库 创建数据表 create table [if not exists] table_name( column_name data_type, ... ) 查看当前数据库下的数据表列表: 查看其它数据库下的数据表列表: 查看数据表的列的基本结构: AUTO_INCREMENT: 自动编号,且必须与主键组合使用 默认情况下,起始值为1

自增主键用完了该怎么办

最后都变了- 提交于 2019-12-02 15:54:08
转自微信公众号“孤独烟” 简单版 我们先明白一点,在mysql中,Int整型的范围如下 我们以无符号整型为例,存储范围为0~4294967295,约43亿!我们先说一下,一旦自增id达到最大值,此时数据继续插入是会报一个主键冲突异常如下所示 //Duplicate entry '4294967295' for key 'PRIMARY' 那解决方法也是很简单的,将Int类型改为BigInt类型,BigInt的范围如下 就算你每秒10000条数据,跑100年,单表的数据也才 10000*24*3600*365*100=31536000000000 这数字距离BigInt的上限还差的远,因此你将自增ID设为BigInt类型,你是不用考虑自增ID达到最大值这个问题! 然而,如果你在面试中的回答如果是 你:"简单啊,把自增主键的类型改为BigInt类型就好了!" 接下来,面试官可以问你一个更坑的问题! 面试官:"你在线上怎么修改列的数据类型的?" 你:"what!我还是回等通知吧!" 怎么改 目前业内在线修改表结构的方案,据我了解,一般有如下三种 方式一:使用mysql5.6+提供的在线修改功能 所谓的mysql自己提供的功能也就是mysql自己原生的语句,例如我们要修改原字段名称及类型。 mysql> ALTER TABLE table_name CHANGE old_field

Mysql基础

烈酒焚心 提交于 2019-12-02 11:45:42
在mysql5.0之前和之后的区别:多了一个information_schema数据库 Mysql监听端口号:3306 1、数据库服务器: 安装了数据库管理系统软件的计算机就叫数据库服务器,数据库服务器为客户提供服务,这些服务是查询、更新、事务管理、索引、高速缓存、查询优化、安全及多用户存取控制等。 2、数据库管理系统(DBMS) : 是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。 3、常见的DBMS : 1、Access:Microsoft Office Access是由微软发布的数据库管理系统 。 2、Oracle:Oracle是美国甲骨文公司的一款关系数据库管理系统,一般作为大型或超大型网站的数据库。 3、SQL Server:SQL Server 2000 是Microsoft 公司推出的SQL Server数据库管理系统。 4、MySQL:MySQL由瑞典MySQL AB公司开发,目前属于Oracle公司。Mysql是最流行的关系型数据库管理系统之一 数值类型(整型) 数值类型(浮点型) 日期和事件类型 字符串类型 Mysql基本命令(cmd) 1、命令行下,修改数据库默认字符集:Alter Database dbname 2、Default Character Set utf8(一般不要轻易改

30分钟用 Laravel 实现一个博客

徘徊边缘 提交于 2019-12-02 11:26:39
介绍 Laravel 是一款 MVC架构、 目前最流行的 PHP框架。 Laravel的优点在于: 丰富的composer类库支持, 优雅的代码, 未来的主流框架(目前市场占有率最高的框架) Laravel的缺点在于: 过于优雅(我们只需要编写极少的代码即可实现功能,意味着底层极其复杂的封装)导致程序的执行效率略低, 和thinkphp等国内主流框架相比,上手难度略高(因为它为我们集成了很多其他的功能,甚至你还需要学习nodeJS相关的知识)。 本项目,是完全使用 Laravel框架 内的所提供的最基础,但是又是最有用(能显著提升我们开发效率)的工具而开发出来的。在学习过程中,你只需要操作一次数据库,不需要自己构建html视图模板(当然还是要写一些html和js代码的),不需要考虑外部的css、js。本教程的目的完全为向各位 phper 以及对 laravel 有兴趣的小伙伴推荐这款我相信是未来主流的php框架。 推荐教程 准备工作 确保你了解 php面向对象编程 的基础知识, 会html和简单的js, 在css方面: 我们使用laravel内置的 bootstrap4 , 最后,一定要会使用 composer 。 唯一一次操作数据库: 创建用户、数据库,授权 如果你愿意用root用户,你甚至只需要 create 一个 database 即可。 (不过不推荐,我的习惯是一个项目

对数据表与其字段的修改

戏子无情 提交于 2019-12-02 11:07:42
//操作数据表之前,先使用 use 指定操作在那个数据库 mysql> USE itcast; Database changed //创建数据表 mysql> CREATE TABLE student_tb -> ( -> id INT(20), -> name VARCHAR(20), -> grade FLOAT -> ); Query OK, 0 rows affected //验证表是否成功,查看 mysql> SHOW TABLES; ±-----------------+ | Tables_in_itcast | ±-----------------+ | student_tb | ±-----------------+ 1 row in set //查看数据表方法1 mysql> SHOW CREATE TABLE student_tb; ±-----------±---------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | ±-----------±------------

第三课

眉间皱痕 提交于 2019-12-02 11:06:44
数据表操作 在操作数据表之前,应该创建数据库,运行如下: 选择创建表的数据库的基本语句格式为 创建数据表 的基本语法格式: CREATE TABLE 表名 ( 字段名1,数据类型[完整性约束条件 ], 字段名2,数据类型[完整性约束条件 ], ............... 字段名n,数据类型[完整性约束条件 ] 注意:这里最后一个字段不加逗号 ); 例:创建一个用于存储学生成绩的表 字段名称 数据类型 id INT(11) name VARCHAR(20) age INT(3) sex CHAR(5) 创建数据表的SQL语句如下所示: 为了验证数据表是否成功,需要SHOW TABLES语句进行查看,执行结果如下: 在MYSQL中,查看数据表的方式有两种, 具体如下: 1.使用SHOW CREATE TABLE 查看数据表 语句不仅可以查看创建表时的语句,还可以查看表的字符编码。基本格式: SHOW CREATE TABLE 表名(查询数据表的名称) ; 执行结果如下: 2.使用DESCRIBE(简称DESC)语句 查看数据表 语句可以查看表的字段信息,包括字段名、字段类型等,基本格式: DESC 表名; 执行结果如下: 修改数据表 修改表名 在数据库中,不同的数据表是通过表名来区分的。在MySQL中,修改表名的基本语法格式: ALTER TABLE 旧表名(指的是修改前的表名)

数据表定时清理数据和日志设计原理

百般思念 提交于 2019-12-02 10:34:05
数据库数据和日志设置定时清理原理(适用于数据仓库,累积历史性数据库表) 1.新建一个记录需要清理数据的表 select * from mid.[dbo].t_clear_data_table --插入数据脚本 INSERT INTO mid.[dbo].[t_clear_data_table] ([dbName] --数据库名称 ,[schName] --表架构 ,[tbName] --表名称 ,[syn_column] --判断清理数据时间字段 ,[keepdays] --数据保留天数 ,[isEnable] --这条记录是否可用 ,[date_insert]) --数据插入时间 VALUES ('ODS' ,'dbo' ,'t_etl_log' ,'start_time' ,60 ,1 ,getdate()) 建表语句 CREATE TABLE [dbo].[t_clear_data_table]( [id] [int] IDENTITY(1,1) NOT NULL,--自增id [dbName] [nvarchar](100) NULL, --数据库名称 [schName] [nvarchar](10) NULL, --表架构 [tbName] [nvarchar](100) NULL, --表名称 [syn_column] [nvarchar](50) NULL, -