xml地图|网站地图|网站标签 [设为首页] [加入收藏]
表的管理_关于数据增删查改的操作的详解,使用
分类:数据库

SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)-DML

用微软自带的sqlcmd工具,可以导入执行。以SQL Server 2008R版本为例:

my3306.cnf

1、SQL INSERT INTO 语句(在表中插入)

INSERT INTO 语句用于向表中插入新记录。

第一步:Win+R 键入:cmd 命令,开启命令行工具;

[client]
port = 3306   #端口
socket = /data/mysql3306/mysql3306.sock   #mysql以socket方式运行的sock文件位置

SQL INSERT INTO 语法

INSERT INTO 语句可以用两种形式编写。
第一个表单没有指定要插入数据的列的名称,只提供要插入的值:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

如果要为表中的所有列添加值,则不需要在SQL查询中指定列名称。但是,请确保值的顺序与表中的列顺序相同。INSERT INTO语法如下所示:

INSERT INTO table_name
VALUES (value1, value2, value3, ...);

第二步:键入:cd C:Program FilesMicrosoft SQL Server100ToolsBinn (具体目录路径跟你安装的SQL位置有关)

[mysql]
auto-rehash      #自动补全

演示数据库

以下是"Customers" 表中的数据:

CustomerID CustomerName ContactName Address City PostalCode Country
87 Wartian Herkku Pirkko Koskitalo Torikatu 38 Oulu 90110 Finland
88 Wellington Importadora Paula Parente Rua do Mercado, 12 Resende 08737-363 Brazil
89 White Clover Markets Karl Jablonski 305 - 14th Ave. S. Suite 3B Seattle 98128 USA
90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 21240 Finland
91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland

第三步:键入:sqlcmd -S . -U sa -P 123 -d test -i data.sql

[mysqld_safe]
log-error = /data/mysql3306/my3306.err   #错误日志
pid-file = /data/mysql3306/my3306.pid   #process id文件

INSERT INTO 实例代码

假设我们想在"Customers"表中插入一个新行。

我们可以使用以下SQL语句:

参数说明:*-S 服务器地址 -U 用户名 -P 密码  -d 数据库名称 -i 脚本文件路径 *

[mysqld]
user = mysql   #mysql以什么用户运行
port = 3306    #端口
default_storage_engine = InnoDB   #默认存储引擎
character-set-server = utf8   #默认utf8字符集
socket= /data/mysql3306/mysql3306.sock   #mysql以socket方式运行的sock文件位置
pid-file = /data/mysql3306/mysql3306.pid  #process id文件
datadir = /data/mysql3306/data   #mysql的数据目录
basedir = /usr/local/mysql   #安装目录

实例

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway');

现在,选自 "Customers" 表的数据如下所示:

CustomerID CustomerName ContactName Address City PostalCode Country
87 Wartian Herkku Pirkko Koskitalo Torikatu 38 Oulu 90110 Finland
88 Wellington Importadora Paula Parente Rua do Mercado, 12 Resende 08737-363 Brazil
89 White Clover Markets Karl Jablonski 305 - 14th Ave. S. Suite 3B Seattle 98128 USA
90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 21240 Finland
91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland
92 Cardinal Tom B. Erichsen Skagen 21 Stavanger 4006 Norway

 

skip_name_resolve = 1  #禁用DNS主机名查找,启用后使用IP或localhost
#skip-external-locking   #用于多进程条件下为MyISAM数据表进行锁定
symbolic-links=0  #是否支持符号链接,数据库或表可以存储在my.cnf中指定datadir之外的分区或目录,为0不开启
max_connections = 3000    #mysql最大连接数
max_connect_errors = 100000   #超过其连接错误次数会被屏蔽
transaction_isolation = READ-COMMITTED  #事物隔离级别
interactive_timeout=180  #服务器关闭交互式连接前等待活动的秒数
wait_timeout=180  #服务器关闭非交互连接之前等待活动的秒数
back_log=600    ##在MYSQL停止响应新请求之前,短时间内的多少个请求可以被存在堆栈中
#explicit_defaults_for_timestamp = 1  # 如果一行数据中某些列被更新了,如果这一行中有timestamp类型的列,这个列的数据也会自动更新到那个时间点,设置为1关闭自动更新时间点

仅在指定的列中插入数据

我们还可以只在指定的列中插入数据。

以下SQL语句插入一个新行,但只在“CustomerName”、“City”和“Countryn”列中插入数据(CustomerID字段将自动更新):

更多参考:

# LOGGING #
log_bin=/data/mysql3306/logbin/mysql-bin   #binlog日志目录
binlog_format = row    #建议使用row模式
expire_logs_days = 7  #binlog日志保留天数
# sync_binlog = 1    #控制数据库的binlog刷到磁盘上去,默认为0
slow_query_log = 1   #慢查询开启
slow_query_log_file=/data/mysql3306/my3306slow.log   #慢查询日志文件保存路径
#log_queries_not_using_indexes = 1  #是否记录未使用索引的语句
#log_slow_admin_statements = 1   #记录optimize table,analyze table和alter table语句
#log_slow_slave_statements = 1  #记录由Slave所产生的慢查询
#log_throttle_queries_not_using_indexes = 10   #设定每分钟记录到日志的未使用索引的语句数目,超过这个数目后只记录语句数量和花费的总时间
long_query_time = 1   #慢查询时间,单位s
#min_examined_row_limit = 100    #查询检查返回少于该参数指定行的SQL不被记录到慢查询日志
#master_info_repository = TABLE  #从机保存主节点信息方式,设成file时 会生成master.info 和 relay-log.info2个文件,设成table,信息就会存在mysql.master_slave_info表中
#relay_log_info_repository = TABLE  #保存从机读取relay log的位置信息,可选值为FILE,TABLE
gtid_mode = on  #启用gtid类型
#enforce_gtid_consistency = 1  #强制GTID的一致性
#log_slave_updates   #从机更新是否记入日志,在做双主架构时异常重要
#relay_log =/data/slave/mysql-relay.log   #relay_log保存的位置
#relay_log_recovery = 1  #当slave从库宕机后,假如relay-log损坏了,导致一部分中继日志没有处理,则自动放弃所有未执行的relay-log,并且重新从master上获取日志,这样就保证了relay-log的完整性
#binlog_gtid_simple_recovery = 1   #这个参数控制了当mysql启动或重启时,mysql在搜寻GTIDs时是如何迭代使用binlog文件的。 这个选项设置为真,会提升mysql执行恢复的性能。因为这样mysql-server启动和binlog日志清理更快
#slave_skip_errors = ddl_exist_errors  #跳过错误

实例

INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Cardinal', 'Stavanger', 'Norway');

现在,选自 "Customers" 表的数据如下所示:

CustomerID CustomerName ContactName Address City PostalCode Country
87 Wartian Herkku Pirkko Koskitalo Torikatu 38 Oulu 90110 Finland
88 Wellington Importadora Paula Parente Rua do Mercado, 12 Resende 08737-363 Brazil
89 White Clover Markets Karl Jablonski 305 - 14th Ave. S. Suite 3B Seattle 98128 USA
90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 21240 Finland
91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland
92 Cardinal null null Stavanger null Norway

转自:

 

本文由澳门新葡亰手机版发布于数据库,转载请注明出处:表的管理_关于数据增删查改的操作的详解,使用

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文