1、使用show语句找出在服务器上当前存在什么数据库:
mysql>
show
databases;
+----------+
|
database
|
+----------+
|
mysql
|
|
test
|
+----------+
3
rows
in
set
(000
sec)
2、创建一个数据库abccs
mysql>
create
database
abccs;
注意不同 *** 作系统对大小写的敏感。
3、选择你所创建的数据库
mysql>
use
abccs
database
changed
此时你已经进入你刚才所建立的数据库abccs
4、
创建一个数据库表
首先看现在你的数据库中存在什么表:
mysql>
show
tables;
empty
set
(000
sec)
说明刚才建立的数据库中还没有数据库表。下面来创建一个数据库表mytable:
我们要建立一个你公司员工的生日表,表的内容包含员工姓名、性别、出生日期、出生城市。
mysql>
create
table
mytable
(name
varchar(20),
sex
char(1),
->
birth
date,
birthaddr
varchar(20));
query
ok,
0
rows
affected
(000
sec)
由于name、birthadd的列值是变化的,因此选择varchar,其长度不一定是20。可以选择从1到255的任何长度,如果以后需要改变它的字长,可以使用alter
table语句。);性别只需一个字符就可以表示:"m"或"f",因此选用char(1);birth列则使用date数据类型。
创建了一个表后,我们可以看看刚才做的结果,用show
tables显示数据库中有哪些表:
mysql>
show
tables;
+---------------------+
|
tables
in
menagerie
|
+---------------------+
|
mytables
|
+---------------------+
5、显示表的结构:
mysql>
describe
mytable;
+-------------+-------------+------+-----+---------+-------+
|
field
|
type
|
null
|
key
|
default
|
extra
|
+-------------+-------------+------+-----+---------+-------+
|
name
|
varchar(20)
|
yes
|
|
null
|
|
|
sex
|
char(1)
|
yes
|
|
null
|
|
|
birth
|
date
|
yes
|
|
null
|
|
|
deathaddr
|
varchar(20)
|
yes
|
|
null
|
|
+-------------+-------------+------+-----+---------+-------+
4
rows
in
set
(000
sec)
6、
往表中加入记录
我们先用select命令来查看表中的数据:
mysql>
select
from
mytable;
empty
set
(000
sec)
这说明刚才创建的表还没有记录。
加入一条新记录:
mysql>
insert
into
mytable
->
values
(′abccs′,′f′,′1977-07-07′,′china′);
query
ok,
1
row
affected
(005
sec)
再用上面的select命令看看发生了什么变化。我们可以按此方法一条一条地将所有员工的记录加入到表中。
MySQL的数据库引擎必须设置成InnoDB类型才是支持事务的,设置为InnoDB后增、删、改都是可以通过事务控制,其他数据库引擎不支持事务。
查看数据库引擎方法:
在显示结果里参数engine后面的就表示该表当前用的存储引擎
mysql>
show
create
table
表名;
cmd -> servicesmsc 找到SQL相关的服务,看里面的服务名 如mssqlserver 那就是 or localhost or IP 或如上面图中 $ 后就是实例名 \sql2014
上方有一个切换数据库选项点击一下。传奇v8引擎数据库打开在这里上方有一个切换数据库选项我们点击一下,正在使用的数据库点击一下就可以了。数据库是指长期存储在计算机内有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立。
MySQL中针对不同的功能需求提供了不同的存储引擎。所谓的存储引擎也就是MySQL下特定接口的具体实现。
FEDERATED是其中一个专门针对远程数据库的实现。一般情况下在本地数据库中建表会在数据库目录中生成相应的表定义文件,并同时生成相应的数据文件。
但通过FEDERATED引擎创建的表只是在本地有表定义文件,数据文件则存在于远程数据库中(这一点很重要)。
通过这个引擎可以实现类似Oracle 下DBLINK的远程数据访问功能。
使用show engines 命令查看数据库是否已支持FEDERATED引擎:
Support 的值有以下几个:
YES 支持并开启
DEFAULT 支持并开启, 并且为默认引擎
NO 不支持
DISABLED 支持,但未开启
可以看出MyISAM为当前默认的引擎。
使用FEDERATED建表语句如下:
CREATE TABLE () ENGINE =FEDERATED CONNECTION='mysql://[name]:[pass]@[location]:[port]/[db-name]/[table-name]'
创建成功后就可直接在本地查询相应的远程表了。
需要注意的几点:
1 本地的表结构必须与远程的完全一样。
2远程数据库目前仅限MySQL
3不支持事务
4不支持表结构修改
mysql被设计成了一个单进程多线程架构的数据库
开始:
1、默认的InnoDB存储引擎的后台线程有7个,4个IO thread ,1个master thread 1个锁监控 thread 1个错误监控thread,IO thread 的数量由配置文件的innodb_file_io_threads参数控制,默认是4,linux下面不可以调整,但是window下面可以
show engine innodb status \G;(root用户,或者你的用户有查看权限)
show variables like 'innodb_version' \G;
show variables like 'innodb_%io_threads' \G;
注释:我十分建议大家安装独立的mysql,不要用集成环境,因为出现问题会后悔死的
2、innodb存储引擎内存有以下部分:
buffer pool 缓冲池
redo log buffer 重做日志缓冲池
additional memory pool 额外内存池
配置文件的innodb:
# Comment the following if you are using InnoDB tables
#skip-innodb
innodb_data_home_dir = "D:/xampp/mysql/data"
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = "D:/xampp/mysql/data"
#innodb_log_arch_dir = "D:/xampp/mysql/data"
## You can set _buffer_pool_size up to 50 - 80 %
## of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
## Set _log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
这是myini的配置,更多的InnoDB的配置,可以看my_innodb_heavy_4Gini
注释:配置文件的值可能会根据不同的环境更改,上面的配置文件是在我安装之后默认的
3、缓冲池是用来存放各种数据的缓存,InnoDB存储引擎的工作方式是将数据库文件按页(每页16K)读取到缓冲池,然后按照最近最少使用(LRU)的算法保留在缓冲池中的缓存数据
输入:show engine innodb status\G;
以上就是关于用mysql数据库,怎么选择引擎全部的内容,包括:用mysql数据库,怎么选择引擎、mysql 增删改查 *** 作哪些是支持事务的、怎么查看SQLserver2008 数据库引擎的服务器名称等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)