mysql添加字段

MySQL表的完整性约束

断了今生、忘了曾经 提交于 2019-11-28 17:18:13
目录 阅读目录 概览 NOT NULL DEFAULT UNIQUE PRIMARY KEY AUTO_INCREMENT FOREIKEY 阅读目录 概览   为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。   约束条件与数据类型的宽度一样,都是可选参数,主要分为以下几种: # NOT NULL :非空约束,指定某列不能为空; # UNIQUE : 唯一约束,指定某列或者几列组合不能重复 # PRIMARY KEY :主键,指定该列的值可以唯一地标识该列记录 # FOREIGN KEY :外键,指定该行记录从属于主表中的一条记录,主要用于参照完整性 返回顶部 NOT NULL 是否可空,null表示空,非字符串 not null - 不可空 null - 可空 mysql> create table t12 (id int not null); Query OK, 0 rows affected (0.02 sec) mysql> select * from t12; Empty set (0.00 sec) mysql> desc t12; +-------+---------+------+-----+---------+-

Django orm的基本使用方法之一

末鹿安然 提交于 2019-11-28 15:49:27
ORM( Object relational mapping 对象关系映射 ) D: 把面向对象中的类和数据库表一一对应起来, 在django项目与数据库之间起着桥梁的 角色 E:通过操作类和对象,对数据库表实现数据的增删改查等操作,而不需要写SQL语句 使用ORM可以通过方便的配置,切换使用不同的数据库 U:① 使用django进行数据库开发步骤: 1. 在models.py中定义模型类(生成表名为应用名_模型类名小写) 2. 生成迁移文件: python manage.D呃py makemigrations 3. 执行迁移生成数据库表(默认使用sqlite3数据库,生成的数据库名为:db.sqlite3): python manage.py migrate 4. 安装sqliteman:sudo apt-get install sqliteman;启动:sqliteman 5. 通过模型类和对象,对数据进行增删改查 通过ORM对数据库增删改: 可以进入交互模式执行代码:python manage.py shell 创建模型类对象:a = 模型类() 增/改:a.save() --------不指定id则默认使用上一次id,第一次为1,如果指定id,id不存 在则添加数据,id存在则修改数据,如id =None,则id=上一次id+1 删除:a.delete() -------

mysql优化数据库方法

半腔热情 提交于 2019-11-28 15:22:31
首先声明此篇博客为转载,转载自最下方链接,为防止本人遗忘,故发布博客 第一方面:30种mysql优化sql语句查询的方法 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by涉及的列上建立索引。   2.应尽量避免在 where 子句中使用 !=或<> 操作符,否则将引擎放弃使用索引而进行全表扫描。   3.应尽量避免在 where 子句中对字段进行 null 值 判断,否则将导致引擎放弃使用索引而进行全表扫描,如:   select id from t where num is null   可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:   select id from t where num=0   4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:   select id from t where num=10 or num=20   可以这样查询:   select id from t where num=10   union all   select id from t where num=20   5.下面的查询也将导致全表扫描:   select id from t where name like '%abc%'   对于 like '..%'

mysql常用基本命令

白昼怎懂夜的黑 提交于 2019-11-28 13:57:42
mysql服务启动和停止 启动服务 命令:net start mysql 停止服务 命令:net stop mysql 登录mysql数据库 格式:mysql -u 用户名 -p 例:mysql -u root -p 注:回车后再第二行输入密码 修改登录密码 格式:alter user 用户名@localhost identified by '新密码'; 例:alter user root@localhost identified by '123456'; 查询数据库版本 命令:select version(); 库基本操作命令 1.显示所有数据库 命令:show databases; 2.选择数据库 命令:use 数据库名; 3.新增数据库 命令:create database 数据库名; 4.删除数指定据库 命令:drop database 数据库名 表的基本操作命令 显示所在库下所有表 命令:show tables; 新建表 命令:create table 表名 (字段1 数据类型,字段2 数据类型); 添加字段 命令:alter table 表名 add 字段名 数据类型 添加单条数据 命令:inster into 表名(字段1,字段2)values(数据1,数据2); 添加多条数据 命令:insert into 表名(字段1,字段2)values(数据1,数据2),

Mysql学习笔记三

旧巷老猫 提交于 2019-11-28 12:52:00
Mysql学习笔记三 4.DML(数据操作语言) 插入:insert 修改:update 删除:delete 4.1.插入语句 语法: insert into 表名 (列名1,列名2,...) values (值1,值2,...), (值1,值2,...)... 不可以为NULL的列必须插入值,可以为NULL的值要想插入NULL值,必须在values里写NULL 也可以在字段列表里不写该字段,当新增时该字段的值就为NULL 列的顺序时可以随便调换的,列数和值的个数必须一致 插入整条数据时可以省去列名 insert into 表名 values (值1,值2...), (值1,值2...)... values里面必须要插入所有字段的值,并且要按照字段的排列顺序排列 可以嵌套子查询: insert into 表名 (值1,值2...) 子查询语句 还有第二种方法可以插入数据,语法如下: insert into 表名 set 字段名1 = 字段值1, 字段名2 = 字段值2, 字段名3 = 字段值3, ...; 两种方法对比: 插入多行 子查询 value √ √ set X X 4.2.修改语句 语法: 修改单表的记录 update 表名 set 列1=值1, 列2=值2, ... where 筛选条件; 修改单表记录 sql92语法: update 表1 别名, 表2 别名 set

数据库基本操作(二)

China☆狼群 提交于 2019-11-28 11:03:14
课程回顾 mysql基础 1)mysql存储结构: 数据库 -> 表 -> 数据 sql语句 2)管理数据库: 增加: create database 数据库 default character utf8; 删除: drop database 数据库; 修改: alter database 数据库 default character gbk; 查询: show databases / show create database 数据库; 3) 管理表: 选择数据库:use 数据库; 增加: create table 表(字段名1 字段类型,字段名2 字段类型......); 删除: drop table 表; 修改: 添加字段: alter table 表 add [column] 字段名 字段类型; 删除字段: alter table 表 drop [column] 字段名; 修改字段类型: alter table 表 modify 字段名 新的字段类型; 修改字段名称 : alter table 表 change 旧字段名 新字段名 字段类型; 修改表名称: alter table 表 rename [to] 新表名; 查询: show tables / desc student; 4) 管理数据: 增加: insert into 表(字段1,字段2,。。。) values(值1

MySQL学习笔记(二)

廉价感情. 提交于 2019-11-28 08:31:54
MySQL普通查询 一般顺序 : select …聚合函数 from 表名 where … group by … having … order by … limit …; 1. 聚合函数 avg(字段名):该字段的平均值 max(字段名):该字段的最大值 min(字段名):该字段的最小值 sum(字段名):该字段所有记录的和 count(字段名):统计该字段记录的个数 eg1:找出表中攻击力最大值 mysql > select max ( attack ) from class_1 ; eg2:找出表中记录了多少人,一般使用 id 获取 mysql > select count ( id ) from class_1 ; eg3:找出攻击力大于 200 的英雄数量 mysql > select count ( id ) from class_1 where attack > 200 ; 2. group by 给查询结果进行分组 group by 后字段名必须要为 select 后的字段,查询字段和group by 后字段不一致,则必须对该字段进行聚合处理(聚合函数)。 eg1:计算每个国家的平均攻击力 mysql > select country , avg ( attack ) from sanguo group by country ; eg2:查询所有国家的男英雄中

数据库

谁都会走 提交于 2019-11-28 06:18:57
存储引擎   primary key也是innodb引擎查询必备的索引。 Innodb   目前5.1之后MySQL版本默认的存储引擎,支持事务,行锁,外键,因此数据更安全 innodb在建表的时候会产生两个文件:一个是表结构文件,一个是存储数据文件 myIsam   5.1版本之前的MySQL的默认存储引擎,查询速度较于Innodb要快,安全性没innobd高。   建表的时候会产生三个文件:一个是表结构文件,一个是存储数据文件,一个是索引文件。索引可以理解成是书的目录,能够帮助你更快的查询数据。 memory   建表的时候都仅仅只有一个表结构文件,数据是存放于内存中,当计算机重启之后,数据会消失。 blackhole   任何写入的数据都会消失,建表的时候都仅仅只有一个表结构文件   研究一下每个存储引擎存取数据的特点:show engines; 创建表的完整语法   create table 表名(     字段名1 字段类型[(宽度) 约束条件],     字段名2 字段类型[(宽度) 约束条件],     字段名3 字段类型[(宽度) 约束条件] );   注意:     1).同一张表内字段名不能重复。     2).字段名和字段类型都是必须的 中括号内的都是可选的。     3).最后一个字段语句后不能有逗号。 字段类型 整型   smallint tinyint

mysql常用命令

萝らか妹 提交于 2019-11-28 06:06:04
MySQL常用命令汇总 你吧 Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show tables; 显示表 describe tablename; 显示具体的表结构 select 中加上distinct去除重复字段 mysqladmin drop databasename 删除数据库前,有提示。 显示当前mysql版本和当前日期 select version(),current_date; 修改mysql中root的密码: shell>mysql -h localhost -u root -p //登录 mysql> update user set password=password("xueok654123") where user='root'; mysql> flush privileges //刷新数据库 mysql>use dbname; 打开数据库: mysql>show databases; 显示所有数据库 mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后 mysql>describe user;

Mysql 常用命令

时光总嘲笑我的痴心妄想 提交于 2019-11-28 06:05:52
连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1、连接到本机上的MYSQL。 首先打开命令行窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql> 2、连接到远程主机上的MYSQL。 假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令: mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样) --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 修改密码 格式:mysqladmin -u用户名 -p旧密码 password 新密码 1、给root加个密码ab12。