首页
学习
活动
专区
圈层
工具
发布

mysql数据库:最全MySQL数据库设计建库、建表规范及经验(踩过坑才能积累经验!)

数据库设计规范 1.简介 数据库设计是指对一个给定的应用环境,构造最优的数据库模式,建立数据库及其他应用系统,使之能有效地存储数据,满足各种用户的需求。...2.数据库设计 当看到项目后不能着急建库,要有一个过程。...4.16索引命名规范 对于数据库的维护建索引是很平常的事情,但是如果没有一个规范化的命名,我们对于一个表的诸多索引可能需要花上一段时间的了解。...(对于Student进行操作函数) 第二类命名:FN_[具体函数解释] 例如:FN_Spit(对字段进行拆分函数) 参考博客: 数据库设计规范 MySQL 规范 (数据库表设计规范) mysql的建表规范与注意事项...MySQL 数据库规范–设计篇 MySQL 数据库规范–开发篇 建表规范 很多是已经成文的内容,需要自己去理解,能看完这篇博客,相信你对数据库的设计,一定会有长进!

3.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux下mysql添加用户并授权数据库权限

    在 Linux 下,你可以使用 MySQL 的 root 用户登录到 MySQL 数据库,然后通过 SQL 命令来添加新用户并授予数据库权限。以下是一个简单的步骤: 1....用 root 用户登录到 MySQL: mysql -u root -p 2. 输入密码后,进入 MySQL 控制台。 3....*第一个*表示所有数据库,第二个*表示所有数据表,如果不想授权全部那就把对应的*写成相应数据库或者数据表;username为指定的用户名;%为该用户登录的域名。 5....退出 MySQL 控制台: exit; 完成上述步骤后,你已经成功在 Linux 下使用 MySQL 添加了新用户并授权了数据库权限。...请注意,为了安全起见,建议在授予权限时仅授予用户所需的最低权限,以保护数据库的安全性。

    2.2K10

    Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复

    笔记内容: 13.4 mysql用户管理 13.5 常用sql语句 13.6 mysql数据库备份恢复 笔记日期:2017-10-31 13.4 mysql用户管理 ?...搭建一个网站时,后台的应用程序会连接mysql,连接mysql就需要一个用户密码,但是不能让它使用root用户,root用户的权限太高不安全,所以需要创建一个用户,并授予这个用户一些权限,你可以具体的授予这些用户的某些权限...13.6 mysql数据库备份恢复 ?...恢复库,将备份文件里的内容重定向到一个空的数据库中,语法如下: mysql -uroot -p123456 mysql2 mysql.sql ?...备份表,除了备份整个数据库之外,还能针对数据库中的某个表进行备份,指定库名和表名即可,语法如下: mysqldump -uroot -p123456 mysql user > /tmp/user.sql

    3.2K30

    Linux——MySQL用户管理与链接

    用户管理 如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用MySQL的用户管理。 用户 用户信息 MySQL中的用户,都存储在系统数据库mysql的user表中。...password for ‘用户名’@‘主机名’=password(‘新的密码’); 数据库的权限 首先了解flush: FLUSH命令用于管理服务器内部状态,包括清除缓存、重新加载配置或刷新日志等...MySQL数据库提供的权限列表: 权限 列 上下文 CREATE Create_priv 数据库、表或索引 DROP Drop_priv 数据库或表 GRANT OPTION Grant_priv 数据库...select, delete, create on … grant all [privileges] on … – 表示赋予该用户在该对象上的所有权限 *. : 代表本系统中的所有数据库的所有对象(...MYSQL *mysql_init(MYSQL *mysql) 这里和文件一样,要记得关闭 链接数据库mysql_real_connect 初始化完毕之后,必须先链接数据库,在进行后续操作。

    47910

    mysql建用户和修改密码和忘记密码的解决办法

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户   1.1 登录MYSQL:   @>mysql -u root -p   @...1.3 然后登录一下:   mysql>exit;   @>mysql -u test -p   @>输入密码   mysql>登录成功 2.为用户授权   授权格式:grant 权限 on 数据库.*...首先为用户创建一个数据库(testDB):   mysql>create database testDB;   2.3 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):   ...mysql>flush privileges;    mysql>drop database testDB; //删除用户的数据库 删除账户及权限:>drop user 用户名@'%';         ...删除数据库和数据表   mysql>drop database 数据库名;   mysql>drop table 数据表名; mysql修改用户密码的方法和mysql忘记密码的解决方法 修改密码: 复制代码代码如下

    2.4K20

    mysql数据库(一):建表与新增数据建议收藏

    创建数据库 创建数据库和表都需要用到数据库脚本语言:sql,全称是:Structured Query Language,结构化查询语言 创建数据库的sql语法:create database 数据库名称...创建表 思考:如何把下面excel的数据保存到数据库表里面 建表语法: create table ( , , ......建表声明字段的时候,最后一个字段后面需不需要逗号? 不需要 3). 主键的特征是什么? 唯一性 4). 如果表需要支持中文数据存储和显示,需要怎么做?...insert into grade values(1, '高一年级', SYSDATE(), SYSDATE()); 总结: 需要注意的是,如果插入数据时,只对部分字段进行初始化,则需要声明要插入的字段 在mysql...建表的时候每一个字段的后面用什么符号分隔?最后一个字段后面需要分隔符吗? 逗号,不需要 2. 插入数据时,只初始化部分字段与初始化所有字段时sql的不同点体现在哪里?

    8.2K20

    Linux自动备份mysql数据库|mysql备份

    文章时间:2019年1月31日 08:49:46 作者:余伟同学 说明:利用crotab定时器,实现定时自动备份mysql数据库 更新人 更新时间 更新内容 余伟同学 2019年10月10日...12:30:57 增加复杂版本sh,7天自动删除 安装crotab 安装教程地址:https://wiki.nooss.cn/archives/84.html 编写备份mysql的shell脚本 #简单版本...###################数据库配置信息####################### user=root passwd=root dbname=databases mysql_back_path...-p$passwd $dbname > $mysql_back_path/$time.sql.gz echo '数据库备份完成' find /home/dbback/ -mtime +3 -name..."*.sql.gz*" -exec rm -rf {} \; #删除3天以上的备份sql echo '检查删除过期备份数据库成功' 说明 -u 后面跟的是用户名 -p 后面跟的是密码 datebaes

    27.8K21

    如何在Linux中检查MySQL用户权限?

    在任何操作系统上首次/全新安装 MySQL仅将 root 用户视为默认数据库用户,第一个数据库事务/活动仅由 root 用户执行。...因此,对于任何需要访问 MySQL 数据库以通过 root 用户凭据获得访问权限的用户来说,它并不理想,根用户访问权限应保留给数据库管理员,然后他们将使用根用户凭据创建数据库用户并授予执行不同数据库查询的权限...对于数据库管理员来说,避免使用 root 用户访问MySQL数据库,而是创建另一个用户并授予该用户与 root 用户相同的访问和执行权限也是理想的做法。...创建一个新的 MySQL 用户 首先,使用以下命令从 Linux 终端获取对MySQL数据库的 root 访问权限: $ mysql -u root -p 创建 MySQL 用户的命令语法如下: CREATE...授予新 MySQL 用户权限 下一步是为这些创建的数据库用户分配不同的角色(用户权限),这些用户权限与允许不同数据库用户执行的数据库操作有关。

    8.5K20

    粗聊Mysql——你会建库建表么?

    本文中说到的“建”,并非单纯的建一个库,或是建一张表,而是你建好的库和表在项目的运营中,是否能应付各种事件,下面我说说几个我在项目中遇到的问题以及处理的方法,算是一个小小的心得,给大家分享下。...这样就会造成一种情况,如果那天对数据库进行优化,把主键进行了重新排序(暂时没有找到mysql优化软件会优化主键,但是可以通过代码删除主键,然后从新建立自增主键来实现主键重新排序),那就彻底杯具了,栏目和文章完全对不上号了...所以我建议两表之间关联不用主键,而是单独建一个编号的字段,我们这里可以用mysql的uuid()函数做为编号,相关文献可以参考《UUID做主键好还是不好》,只所以一张表要2个主键,一个物理主键(自增id...0,又比如邮编,如果用户输入的是全角的数字呢?...所以我建议,既然定义为varchar,就代表不会涉及到计算,何不干脆定义一个通用的长度,比如varchar(50),如果真要限制长度,用程序去判断,不要让数据库来限制,不然用户输了一长串,结果mysql

    7.9K10

    Python导出MySQL数据库中表的建表语句到文件

    为了做数据对象的版本控制,需要将MySQL数据库中的表结构导出成文件进行版本化管理,试写了一下,可以完整导出数据库中的表结构信息 # -*- coding: utf-8 -*- import os import...self.cursor.close()             self.conn.close()         except pymysql.Error as e:             print("mysql...= 'D:\mysqlscript'     if not os.path.exists(mysql_file_path):         os.mkdir(mysql_file_path)    ...export ok')             else:                 print('export fail') if __name__ == '__main__':     main() 建库测试...导出建表语句会根据表的数据情况编号自增列,这是mysqldump的问题而不是导出的问题,如果有必要可以需求做相应的修改 去掉mysqldump导出表结构中备注信息 import os filepath

    4.5K20

    给linux用户的11个高级MySQL数据库面试问题和答案

    答:下面的语句的结果会显示服务器的版本和当前的数据库名称 mysql> SELECT VERSION(), DATABASE(); +-------------------------+-----...MySQL中如何将表导出为XML文件? 答:我们可以使用'-e'(export)选项来把MySQL表或整个数据库导出到XML文件。...mysql -u USER_NAME -xml -e 'SELECT * FROM table_name' > table_name.xml 上面的例子中USER_NAME是数据库的用户名,table_name...答:MySQL_pconnect()打开一个持久的数据库连接,这意味着数据库不是在每次页面加载的时候被打开一个新连接,因此我们不能使用MySQL_close()来关闭一个持久的连接。...当你需要查看一个名为'mysql'的数据库中'user'表中的所有索引时,你会如何做?

    1.7K40
    领券