sql增加字段

SQL Server复制及修改表

匿名 (未验证) 提交于 2019-12-03 00:22:01
1 复制表 select * into 新的表格 from 旧的表格 例:select * into [web].[dbo].[cardcctry] from [web].[dbo].[ICCardGJJT03] 2 修改表 2.1 修改字段名 alter table 表名 rename column A to B 例:alter table [web].[dbo].[cardcctry] rename column 交易金额 to JYJE 2.2 修改字段类型 alter table 表名 alter column 字段名 type 例:alter table [web].[dbo].[arrivecctry] alter column [stationname] nVarchar alter table [web].[dbo].[arrivecctry] alter column [stationname] nVarchar(200) 2.3 增加字段 alter table 表名 add 字段名 tpye 例:alter table [web].[dbo].[arrivercctry] add StationName2 nVarchar 2.4 删除字段 alter table 表名 drop column 字段名 例:alter table [web].[dbo].

mybatis include refid=\"Base_Column_List\"含义

匿名 (未验证) 提交于 2019-12-02 23:49:02
<sql id="Base_Column_List" > <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" > Base_Column_List是固定的几个字段,而用*号的话会降低查询效率,因为后期数据库的字段会不断增加。 版权声明:本文为博主原创文章,转载请附上博文链接!

SQL优化

匿名 (未验证) 提交于 2019-12-02 23:38:02
对表的设计合理化(符合3NF) 添加适当的索引(index)[普通索引,主键索引,唯一索引,全文索引] 分表技术(水平分割,垂直分割) 读写(update/delete/add)分离 存储过程(模块化编程) 对MySQL配置优化(配置最大并发数 my.ini , 调整缓存大小) MySQL服务器硬件升级 定时清除不需要的数据,定时进行碎片整理 1NF:对属性的原子性约束,即表的列具有原子性,不可再分解。 2NF:表中的记录是唯一的,实体属性完全依赖于主键,每张表只描述一件事情。 3NF:表中不能有冗余数据,任何非主属性不依赖于其他非主属性,从表的外键必须使用主表的主键。 反三范式:某些业务场景下,为了提高效率,可能会适当降低范式标准,增加字段,允许冗余。 主键索引:当一张表把某个列设为主键的时候,该列就是主键索引 普通索引:一般先创建表,再创建普通索引 create index 索引名 on 表(列) alter table 表名 add index 索引名 (列) 全文索引:全文索引主要针对文件,文本的检索,比如文章,全文索引只针对myisam引擎有效 create table test ( )engine=myisam charset utf-8; 使用全文索引: select * from test where match(xxx,yyy) against('aaa');

python数据库基础

匿名 (未验证) 提交于 2019-12-02 22:51:30
1.数据类型:(使用原则:够用就行,尽量使用范围小的) 整数:int,bit 小数:decimal 字符串:varchar(可变长度),char(固定长度字符串) 日期时间:date,time,datetime 枚举类型(enum) 特别说明2.约束(限制)主要: 主键primary key:物理存储的顺序 非空 not null 不允许填写空格 唯一 unique:不允许重复 默认default:数据项的默认值 外键 foreign key:存储其他表的主键的字段其他: unsigned 无符号 auto increment 自增4.常用术语: 数据库: 数据库是一些关联表的集合。 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。 外键:外键用于关联两个表。 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。 参照完整性:

mysql性能优化

匿名 (未验证) 提交于 2019-12-02 22:06:11
数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情 1.为查询缓存优化你的查询 mysql > show variables like ' %query_cache% ' ; (query_cache_type 为 ON 表示已经开启) + -- ----------------------------+----------+ | Variable_name | Value | + -- ----------------------------+----------+ | have_query_cache | YES | | query_cache_limit | 1048576 | | query_cache_min_res_unit | 4096 | | query_cache_size | 20971520 | | query_cache_type | ON | | query_cache_wlock_invalidate | OFF | + -- ----------------------------+----------+ 如果不是ON,修改配置文件以开启查询缓存: > vi / etc / my.cnf [ mysqld ] 中添加: query_cache

MySQL数据库基础操作语句

匿名 (未验证) 提交于 2019-12-02 22:06:11
SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,分为3种类型:  1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER  2、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT  3、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE(取消授权)SQL基础操作语句:   管理员登录:mysql -uroot -p 设置管理员密码:set password=password(密码); 查看数据库所有用户:select * from mysql.user; 查看用户权限:show grants for 用户名@网络地址 [identified by 密码] 普通用户登录:mysql -u用户名 -h网络地址 -p 查看当前用户:select user(); 查看当前数据库:select database(); 当前时间:now() 查看当前数据库是否是严格模式:select @@sql_mode; #----DCL操作 创建用户:create user 用户名@网络地址 identified by 密码; 用户授权:grant all[SELECT INSERT UPDATE DELETE] on 数据库名.表名 to

MySQL面试题

匿名 (未验证) 提交于 2019-12-02 21:59:42
1. 如何设计一个高并发的系统 ① 数据库的优化,包括合理的事务隔离级别、SQL语句优化、索引的优化 ② 使用缓存,尽量减少数据库 IO ③ 分布式数据库、分布式缓存 ④ 服务器的负载均衡 2. 锁的优化策略 ① 读写分离 ② 分段加锁 ③ 减少锁持有的时间 ④ 多个线程尽量以相同的顺序去获取资源 等等,这些都不是绝对原则,都要根据情况,比如不能将锁的粒度过于细化,不然可能会出现线程的加锁和释放次数过多,反而效率不如一次加一把大锁。这部分跟面试官谈了很久 3. 索引的底层实现原理和优化 B+树,经过优化的B+树 主要是在所有的叶子结点中增加了指向下一个叶子节点的指针,因此InnoDB建议为大部分表使用默认自增的主键作为主索引。 ① 以“%”开头的LIKE语句,模糊匹配 ② OR语句前后没有同时使用索引 ③ 数据类型出现隐式转化(如varchar不加单引号的话可能会自动转换为int型) order by要怎么处理 alter尽量将多次合并为一次 insert和delete也需要合并 等等 6. 实践中如何优化MySQL 我当时是按以下四条依次回答的,他们四条从效果上第一条影响最大,后面越来越小。 ① SQL语句及索引的优化 ② 数据库表结构的优化 ③ 系统配置的优化 ④ 硬件的优化 变种极多,攻击简单,危害极大 未经授权操作数据库的数据 恶意纂改网页

Day 34 sql基础

本小妞迷上赌 提交于 2019-12-02 19:16:57
目录 MySQL操作 创建表格 列约束 列类型 整型 浮点型 字符串 时间类型 枚举 修改表格 修改表名 增加字段 删除字段 修改字段 删除表格 查询表格 复制表结构 表格数据的增删改查 增加数据 删除数据 修改数据 查找数据 数据过滤 MySQL操作 创建表格 语句: create table 表名( 字段名1 类型 [约束条件], 字段名2 类型 [约束条件] ); # 注意 1. 在同一张表中,字段名是不能相同的 2. 宽度和约束条件可选 3. 字段名和类型是必须的 实例: create table teacher( id int auto_increment primary key, name varchar(20), age int, salary decimal ); 列约束 auto_increment: 不指定则自增 primary key: 主键 NOT NULL: 标识字段不能为null DEFAULT: 为该字段设置默认值 列类型 整型 tinyint smallint int mediumint bigint 注意: 加上unsigned代表不能取负数,只适用于整型 浮点型 float double decimal(总位数, 小数位数) 字符串 char(长度) varchar(长度) 区别: char: 固定长度,无论插入多少个字符都是占用固定长度的字节数

数据库的基本操作(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 表名;