-
2020-04-27 09:28:20
1.Database Fitst
手动创建表
2.Model First
通过绘制模型图生成数据表
3.Code First
只需要关注代码的编写,数据库中的表由代码中定义的模型自动创建。
并且可以在MVC 的M层中可以定义一系列的模型操作方法(业务逻辑)
from application import db class User(db.Model): __tablename__ = 'user' id = db.Column(db.Integer, primary_key=True) login_name = db.Column(db.String(25), nullable=False, unique=True) login_pwd = db.Column(db.String(32), nullable=False) login_salt = db.Column(db.String(32), nullable=False) status = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue()) updated_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue()) created_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue()) def sample(self): # 业务逻辑 pass
优点:专注业务模型的设计而不是数据库的设计
更多相关内容 -
MySQL创建数据库和创建数据表
2019-10-20 23:44:40MySQL 创建数据库和创建数据表 MySQL 是最常用的数据库,在数据库操作中,基本都是增删改查操作,简称CRUD。 在这之前,需要先安装好 MySQL ,然后创建好数据库、数据表、操作用户。 一、数据库操作语言 数据库...MySQL 创建数据库和创建数据表
MySQL 是最常用的数据库,在数据库操作中,基本都是增删改查操作,简称CRUD。
在这之前,需要先安装好 MySQL ,然后创建好数据库、数据表、操作用户。
一、数据库操作语言
数据库在操作时,需要使用专门的数据库操作规则和语法,这个语法就是 SQL(Structured Query Language) 结构化查询语言。
SQL 的主要功能是和数据库建立连接,进行增删改查的操作。SQL是关系型数据库管理系统的标准语言。
SQL 语言的作用:
1. 数据定义语言 DDL(Data Definition Language) 。用于创建数据库,数据表。
2. 数据操作语言 DML(Data Manipulation Language) 。用于从数据表中插入、修改、删除数据。
3. 数据查询语言 DQL(Data Query Language) 。用于从数据表中查询数据。
4. 数据控制语言 DCL(Data Control Language) 。用来设置或修改数据库用户或角色的权限。
使用 SQL 操作数据库时,所有的 SQL 语句都以分号结束。(切换数据库时可以不用分号)
在 SQL 语句中,不区分大小写,编写 SQL 语句时可以根据情况用大小写的区别来增加可读性。
二、创建数据库
1. 连接 MySQL
输入 mysql -u root -p 命令,回车,然后输入 MySQL 的密码(不要忘记了密码),再回车,就连接上 MySQL 了。
mysql -u root -p
最初,都是使用 root 用户登录,工作中如果一直用 root 用户登录,因为权限太大,风险是很大的,所以等创建好权限适合的用户后,就不要经常登录 root 用户了。
2. 查看当前的数据库
使用 show databases; 查看当前安装的 MySQL 中有哪些数据库。
show databases;
刚安装 MySQL 时,默认有四个数据库,information_schema,mysql,perfomance_schema,sys 。通常情况下,我们不会直接使用这四个数据库,但千万不要把这四个数据库删了,否则会带来很多不必要的麻烦。如果不小心删了,建议是重新安装 MySQL ,在重装之前把自己的数据迁移出来备份好,或者从其他服务器上迁移一个相同的数据库过来。
3. 创建数据库
使用 create database 数据库名; 创建数据库。
create database MyDB_one;
创建数据库成功后,数据库的数量变成了5个,多了刚才创建的 MyDB_one 。
4. 创建数据库时设置字符编码
使用 create database 数据库名 character set utf8; 创建数据库并设置数据库的字符编码。
create database MyDB_two character set utf8;
直接创建的数据库,数据库的编码方式是 MySQL 默认的编码方式 latin1 (单字节编码) ,通常我们会在数据库中存放中文数据,所以最好把数据库的编码方式设置成 utf-8 ,这样中文才能正常显示。
create database MyDB_three charset utf8;
character set 可以缩写成 charset ,效果是一样的。
5. 查看和显示数据库的编码方式
使用 show create database 数据库名; 显示数据库的创建信息。
show create database MyDB_one; show create database MyDB_two;
如果不知道一个数据库的编码方式是什么,可以使用 show create database 数据库名 来查看数据库的编码方式。可以看到刚才创建的 MyDB_one 的编码方式是 MySQL 的默认编码 latin1 ,MyDB_two 的编码方式是 utf-8 。
当然,这种方式不能在创建的同时显示,只能查看一个已经存在的数据库的编码方式。
6. 使用 alter database 数据库名 character set utf8; 修改数据库编码
alter database MyDB_one character set utf8;
如果一个数据库的编码方式不符合使用需求,可以进行修改。刚才创建的 MyDB_one 经过修改后,编码方式也变成了 utf-8 。
7. 进入或切换数据库
使用 use 数据库名 进入或切换数据库。
use MyDB_one use MyDB_two;
刚连接上 MySQL 时,没有处于任何一个数据库中,如果要使用某一个数据库,就需要进入到这个数据库中。
use 数据库名 这个命令后面的分号可以省略,这是 SQL 语句中唯一可以省略分号的语句。
8. 显示当前数据库 select database();
select database();
进入数据库中,可以使用 select database(); 来查看当前处于哪个数据库中。长时间操作数据库时,在很多数据库中来回切换后,查看当前的数据库,避免操作错了数据库。
三、创建数据表
1. 查看当前数据库中的表
使用 show tables;查看当前数据库中有哪些表。
show tables;
在刚才创建的数据库 MyDB_one 中,还没有创建任何表,所以当前是空的。
2. 创建表
使用 create table 表名(字段1 字段类型,字段2 字段类型,字段3 字段类型,…); 来创建一张表。
create table Phone_table(pid INT, name CHAR(20), price INT);
在 MyDB_one 中创建了一个叫 Phone_table 的数据表,这张表有三个字段 pid,name,price 。为了增加 SQL 的可读性,字段名我用的是小写,字段类型用大写。
3. 显示表信息
用 show create table 表名; 来显示已创建的表的信息。
show create table Phone_table;
使用 show create table 表名; 可以显示表的字段信息, MySQL 的引擎,和默认的字符编码等信息。与显示数据库信息一样,show 只能显示已经创建了的数据表的信息,不能在创建的同时显示信息。
如果想更好地展示表的字段信息,可以使用 desc 表名; 来显示表的字段信息。
4. 给表增加字段
使用 alter table 表名 add 字段名 数据类型; 为已存在的表添加一个新字段。
alter table Phone_table add color CHAR(20);
添加后,刚才的表中多了一个字段,新增成功。
5. 删除表的字段
使用 alter table 表名 drop 字段名; 删除一个表中已存在的字段。
alter table Phone_table drop price;
删除字段后,表中不再有该字段。
6. 修改字段的数据类型
使用 alter table 表名 modify 字段名 数据类型; 修改表中现有字段的数据类型。
alter table Phone_table modify name VARCHAR(12);
修改之后,该字段的数据类型发生改变。
7. 修改字段的数据类型并且改名
使用 alter table 表名 change 原字段名 新字段名 数据类型; 修改表中现有字段的字段名和类型。
alter table Phone_table change name pname CHAR(18);
现在,将表的 name 改成了 pname ,同时修改了 pname 的数据类型。
四、MySQL 常用字段类型
一个数据表是由若干个字段组成的,一个表十几个字段也很正常,每个字段表示不同的信息,需要使用不同类型的数据。
所以在创建表的时候,要为每个字段指定适合的数据类型。
MySQL 中常用的字段类型有以下这些:
1. 整数类型
数据类型 数据范围 TINYINT -128 -- 127 SMALLINT -32768 -- 32767 MEDIUMINT -2^23 -- 2^23-1 INT -2^31 -- 2^31-1 BIGINT -2^63 -- 2^63-1 2. 字符串类型
数据类型 字节范围 用途 CHAR(n) 0 -- 255字节 定长字符串 VARCHAR(n) 0 -- 65535字节 变长字符串 TEXT 0 -- 65535字节 长文本数据 LONGTEXT 0 -- 2^32-1字节 极大文本数据 BLOB 0 -- 65535字节 二进制长文本数据 LONGBLOB 0 -- 2^32-1字节 二进制极大文本数据 3. 小数类型
m 表示浮点数的总长度,n 表示小数点后有效位数。
数据类型 数据用法 数据范围 Float Float(m,n) 7位有效数 Double Double(m,n) 15位有效数 Decimal Decimal(m,n) 28位有效数 4. 时间类型
数据类型 格式 用途 DATE YYYY-MM-DD 日期 TIME HH:MM:SS 时间 YEAR YYYY 年份 DATETIME YYYY-MM-DD HH:MM:SS 日期和时间 TIMESTAMP 10位或13位整数(秒数) 时间戳 5. 枚举类型
enum(枚举值1,枚举值2,...)
枚举类型只能在列出的值中选择一个,如性别。
-
数据库-创建数据库-创建数据表
2022-03-20 17:22:53一.创建数据库一.创建数据库
数据库存放数据库数据和数据库对象的文件。
主要数据文件.mdf(只有一个)和次要数据文件.ndf(可以有多个)。
用于恢复数据库的日志信息.ldf。
创建数据方法:
方法一(自动创建):1.点击数据库,反键点击新建数据库。
2.数据库名称给数据库取名字,下面第一行是行数据,第二行是日志文件。一般创建用的都是默认值。点击确定就完成一个数据库的创建了。
方法二(代码创建):
1.点击新建查询。
2.然后输入代码:
CREATE DATABASE 数据库名
ON PRIMARY
(NAME=--逻辑数据文件名,FILENAME='--操作数据的文件路径和文件',
SIZE=--文件长度),MAXSIZE= --(最大长度),
FILEGROWTYH=--(增长率))
LOG ON
(NAME=--逻辑日志文件名,FILENAME='--日志文件路径和文件名',
SIZE=--(文件长度),MAXSIZE=--(最大长度),
FILEGROWTYH=--(增长率))
3.然后点击执行。一个数据库就创建完成了。
二. 创建数据表
E-R图转成关系模型转成数据表,然后用代码编写出来。
1.数据类型
①.整数类型
数据类型 描述 存储 tinyint 0到255 1字节 smallint -32768到32767 2字节 int -2147483648到2147483647 4字节 bigint -9223372036854775808到9223372036854775807 8字节 decimal(p,s或
numerric(p,s)
-10^38+1到10^38+1,p参数指示可以存储的最大位数,s参数指示小数点右侧存储的最大位数。
5-17字节 smallmoney -214748.3648到214748.3647的货币 4字节 money -922337203685477到922337203685477.580的货币 8字节 ②.小数类型
数据类型 描述 存储 float(n) -1.79E+308到1.79E+308,参数n指示该字段保存4个字符还是8个字符。 4或8字符 real -3.40E+38到3.40E+38 4字符 ③.日期和时间类型
数据类型 描述 存储 datetime 1752年1月1日到9999年12月31日,精度为3.33ms 8字节 datetime2 1752年1月1日到9999年12月31日,精度为100ns 6-8字节 smalldatetime 1900年1月1日到2079年6月6日,精度为1min 4字节 date 存储日期,0001年1月1日到9999年12月31日 3字节 time 存储时间,精度为100ns 3-5字节 datetimeoffset 与datetime2相同,外加时区偏移 8-10字节 ④.常用字符类型
数据类型 描述 存储 char(n) 固定长度,最多8000个字符,(一个汉字2个字符) n个字符 varchar(n) 可变长度,最多4000个字符,(一个汉字2个字符) 由实际长度决定 nchar(n) 固定长度,最多4000个字符,(一个汉字1个字符) n个字符 nvarchar(n) 可变长度,最多4000个字符,(一个汉字1个字符) 由实际长度决定 text 可变长度,最多2GB字符数据 由实际长度决定 ⑤.其他字符类型
数据类型 描述 存储 image 图像,视频,音乐 二进制数据 Binary(n) 标记或标记组合数据 二进制数据 bit 0/1,判定真或假 2.字段约束
NOT NULL|NULL:不允许或者允许字段值为空。
PRIMARY KEY:定义主码。
FOREIGN KEY.....REFERENCE<主码表>(<主码>):定义参照完整条件。
DEFAULT(缺省值):定义字段的缺省值。
CHECK(条件):定义字段应满足的条件表达式。
UNIQUE:取唯一值。
3.代码数据表创建格式
CREATE TABLE<表名>(
<列名> <数据类型> <列级完整性约束定义>
..........
<表级完整性约束定义>
..........
)
-
mysql数据库如何创建数据表
2021-01-19 03:36:30mysql数据库创建数据表的方法是:可以通过CREATE TABLE语句来创建,基本语法:【CREATE TABLE ([表定义选项])[表选项][分区选项];】。要注意的是,创建数据表不能使用SQL语言中的关键字。在 MySQL 中,可以使用 ...mysql数据库创建数据表的方法是:可以通过CREATE TABLE语句来创建,基本语法:【CREATE TABLE ([表定义选项])[表选项][分区选项];】。要注意的是,创建数据表不能使用SQL语言中的关键字。
在 MySQL 中,可以使用 CREATE TABLE 语句创建表。其语法格式为:
(推荐教程:mysql教程)CREATE TABLE ([表定义选项])[表选项][分区选项];
其中,[表定义选项]的格式为: [,…]
CREATE TABLE 命令语法比较多,其主要是由表创建定义(create-definition)、表选项(table-options)和分区选项(partition-options)所组成的。
CREATE TABLE 语句的主要语法及使用说明如下:
CREATE TABLE:用于创建给定名称的表,必须拥有表CREATE的权限。:指定要创建表的名称,在 CREATE TABLE 之后给出,必须符合标识符命名规则。表名称被指定为 db_name.tbl_name,以便在特定的数据库中创建表。无论是否有当前数据库,都可以通过这种方式创建。
在当前数据库中创建表时,可以省略 db-name。如果使用加引号的识别名,则应对数据库和表名称分别加引号。例如,'mydb'.'mytbl' 是合法的,但 'mydb.mytbl' 不合法。
:表创建定义,由列名(col_name)、列的定义(column_definition)以及可能的空值说明、完整性约束或表索引组成。默认的情况是,表被创建到当前的数据库中。若表已存在、没有当前数据库或者数据库不存在,则会出现错误。
提示:使用 CREATE TABLE 创建表时,必须指定以下信息:要创建的表的名称不区分大小写,不能使用SQL语言中的关键字,如DROP、ALTER、INSERT等。
数据表中每个列(字段)的名称和数据类型,如果创建多个列,要用逗号隔开。
示例:
例如,创建员工表 tb_emp1,结构如下表所示。
选择创建表的数据库 test_db,创建 tb_emp1 数据表,输入的 SQL 语句和运行结果如下所示。mysql> USE test_db;
Database changed
mysql> CREATE TABLE tb_emp1
-> (
-> id INT(11),
-> name VARCHAR(25),
-> deptId INT(11),
-> salary FLOAT
-> );
Query OK, 0 rows affected (0.37 sec)
语句执行后,便创建了一个名称为 tb_emp1 的数据表,使用 SHOW TABLES;语句查看数据表是否创建成功,如下所示。mysql> SHOW TABLES;
+--------------------+
| Tables_in_test_db |
+--------------------+
| tb_emp1 |
+--------------------+
1 rows in set (0.00 sec)
-
Mysql创建表的三种方法,以及三种插入数据的方式
2021-08-13 16:11:50文章目录MySQL创建数据表的三种方法,以及三种插入数据的方式MYSQL创建数据表的三种方法:1.常规创建2.复制表格3.将table1的部分拿来创建table2mysql中常用的三种插入数据的语句:1. insert into2. replace into3. ... -
django创建数据表
2019-06-01 16:14:37创建数据表需要在models.py文件下,每一张表对应一个类。django的model模块与数据库形成对应关系映射(简称:ORM),创建的表上传到数据库。 接下来还要进行数据迁移,首先生成迁移文件 打开虚拟环境,找到我们的... -
Mysql创建数据库与表,并添加表的数据
2021-01-18 19:15:33首先,在成功安装Mysql的基础上,进入到cmd窗口,登录我们的...因为我们不知道系统中有哪些库,所以要使用show databases 命令行,展示有那些库;1.创建数据库与删除CREATE DATABASE数据库名DEFAULT CHARSET='utf... -
使用SQL语句创建数据表(SQL Server)
2021-10-04 17:37:35使用SQL语句创建数据表 CREATE TABLE的语法格式如下 database_name:在其中创建表的数据库的名称。database_name必须指定现有数据库的名称。如果未指定,则database_name默认为当前数据库。 schema_name:新表所属... -
VBA 数据透视表的创建
2021-01-21 15:21:37方法 读/写 值类别 默认值 说明 .ColumnGrand ...数据透视表在刷新或移动域时自动设置格式 ...如果数据透视表在有错误的单元格中显示用户自定义的错误字符串,则该值为 True。 .ErrorString 返回... -
SQL sever创建数据库数据表
2021-08-06 21:48:17掌握在SQL Server中使用对象资源管理器或者SQL命令创建数据表和修改数据表的方法(以SQL命令为重点)。 二、环境概述: SQL Server 2019 SQL Server Management Studio 管理工具 三、数据库的创建 使用对象资源... -
创建数据表
2019-05-21 16:00:42在之前我们使用的emp、dept、salgrade的数据表都是数据库提供的,我们也可以在自己使用语句创建数据表,基本语法如下: CREATE TABLE 表名称( 字段 1 字段类型, 字段 2 字段类型, 字段 3 字段类型, ... -
thinkphp5 创建数据表
2019-03-25 12:06:11场景描述: 如果需要分表1000个,也不能马上创建1000张表,监听另一张表的数据是否有新的数据增减,如果有增加,我们就要自动去创建相应的... //创建数据表 $sql = <<<sql CREATE TABLE IF NOT EXISTS ... -
oracle中快速复制数据表(创建数据表)
2017-07-07 23:20:23oracle中快速复制数据表(创建数据表) 1.普通创建表方式 2.快速创建表方式根据已存在的表,快速创建表 -
细说 MySQL 创建表的三种方法
2021-08-15 21:38:02SQL 标准使用 CREATE TABLE 语句创建数据表;MySQL 则实现了三种创建表的方法,支持自定义表结构或者通过复制已有的表结构(CREATE TABLE ... LIKE 以及 CREATE TABLE ... SELECT)来创建新表,本文给大家分别介绍... -
MySQL学习(表的创建及插入数据)
2021-12-22 21:32:09学习了MySQL的安装,现在来学习MySQL的表创建和插入数据 1.库的创建 在执行上一期学习的方法后,启动MySQL进入到MySQL的界面 或者直接执行MySQL的应用台,既快捷有方便,如下图 在开始菜单找到MySQL文件,打开这个... -
7.1 Python数据库介绍、使用sqlite3模块创建数据表
2019-07-08 08:44:071、数据库介绍、使用sqlite3模块创建数据表 1)数据库介绍 说明: Python 操作不同数据库使用不同的模块,但这些模块遵守 Python 制定的DB API协议,该协议目前最新版本是2.0,被称为 Python DB API 2.0。 ... -
navicat premium创建数据表失败
2018-03-28 11:06:28昨天刚刚新装的navicat premium软件,为了操作mysql数据的可视化工具,今天新建连接以后就准备开始建数据库和数据表,原本我的mysql数据库里面已经有了一个student数据库(只是用来测试用,之前没有navicat这个可视... -
SQLite(二) - 创建表与添加数据
2018-11-26 11:30:21在学习表的创建之前,先了解下SQLite数据类型,因为在数据库保存每一列数据都有对应的数据存储类型,比如整数、文本字符串、浮点值…… 打开上次创建userDB.db数据库,执行sqlite3.exe userDB.db命令,接着创建一个... -
数据结构——创建顺序表
2017-09-18 21:55:58一、实验目的1、熟练掌握线性表的结构特点,掌握顺序... 建立n个元素的顺序表(n 的大小和表里数据自己确定),实现相关的操作:输出,插入,删除,查找等功能。编写完整程序实现,程序语言不限定,使用技术形式不定。 -
数据表的创建与修改管理实验
2020-05-05 13:45:38数据表的创建与修改管理实验 实 验 目 的 (1) 掌握表的基础知识。 (2) 掌握使用Navicat或其他第三方管理工具和SQL语句创建表的方法。 (3) 掌握表的修改、查看、删除等基本操作方法。 (4) 掌握表中完整性约束的定义。... -
php脚本简单实现MySQL创建数据库,数据表,写入数据
2020-04-20 13:36:20这几天在学php,基本都是看菜鸟教程,总结下php和mysql配合的笔记 MySQL基本结构 ...每个数据库下面可以有很多个数据表,对某个数据库的某个数据表的操作,需要在相应的指令内附带指定数据表的名字 一个数据... -
SQL(创建新表导入数据)
2019-06-13 08:47:19创建新表导入数据 1 在数据库中创建一个新的数据库,命名。 2 命名之后在数据库文件选择路径,两个都要确定。 3 在新建的数据库中新建一个表,添加所需要的数据后, 要设计一个ID;在ID列名设计主键,然后设计... -
HBase shell 创建表及添加数据
2020-06-17 19:53:58HBase shell 命令创建表,表名hbase_test,HBase表是由Key-Value组成的...注意:hbase的表只动态加入列的,比如说列族1下面有两列,再添加数据时,可以在动态的加一列。 1 ,创建表hbase_test有两个列族CF1和CF2 h... -
ARCGIS为栅格数据创建属性表
2020-09-16 10:22:07有时候一个栅格数据有属性值,但是“打开属性表”不可用,此时候可以通过ARCGIS中的“创建属性表“工具解决。需要注意的是此栅格数据集必须只有单一波段。不能为具有 32 位浮点像素类型的栅格数据集构建栅格属性表。... -
flask创建数据表时无报错且未创建成功的解决办法
2020-07-11 21:58:54在flask中,我们使用Flask-SQLAlchemy管理数据库,第一步是在给定的数据库中创建数据表,通过建立好模型之后,通过create_all命令即可把所有的继承db.Model的数据表类在数据库中创建。语句如下 from flask import ... -
SQL Server 2012 数据表操作(创建、修改、删除)
2019-04-21 15:59:59文章目录准备工作创建数据表使用SSMS工具创建数据表使用SQL方式创建数据表修改数据表使用SSMS工具修改数据表使用SQL方式修改数据表删除数据表使用SSMS工具创删除据表使用SQL方式删除数据表 准备工作 在对... -
在MySQL中如何用SQL命令创建数据库及数据表
2021-01-16 22:45:06现在,给大家讲解,如何用SQL命令在MySQL中创建一个数据库及数据表。 在学习前,我们首先要了解,SQL命令是什么? SQL 结构化查询语言,专门用来操作关系型数据库 知道了SQL命令是什么,我们还要知道)SQL命令... -
2019access创建数据表、查询和窗体
2019-10-25 13:59:142019 access创建数据表、查询和窗体 打开access,在菜单栏选择创建,我们可以看到有 “表格” 、“查询”、“窗体”等模块,我们可以通过这些按钮来进行表的创建、查询设计、窗体的创建。 图一图一图一 1.创建表 1... -
利用写SQL语句创建数据表
2017-12-27 23:32:43来迅速生成很多的数据表,感觉到很神奇,因为我之前都是利用数据库工具或者WEB版的PHPMYADMIN来迅速扩展或者修改表的结构,但是这样对数据库的影响是很大的,一不小心会有很大的影响。 今天看了教程,教程案例如下:... -
Hive数据库创建、表创建、加载数据
2017-03-08 10:51:46原文地址:... --创建数据库 create database if not exists sopdm comment ‘this is test database’ with dbproperties(‘creator’=’gxw’,’date’=’2014-11-12’) --数据库键值对属性信息 l