今天给各位分享linux怎么看表结构的知识,其中也会对命令行查看表结构进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、什么是linux核心数据结构??
- 2、如何在Linux下使用MySQL?
- 3、linux中怎么查看所有数据表
- 4、如何查看linux磁盘分区和大小
- 5、Linux怎么从sql文件导出某些表的结构及数据?
- 6、linux命令:从登录mysql数据库,到访问l数据库的所有表,然后锁定某一个表,显示表结构,再查询表内容。
1、什么是linux核心数据结构??
操作系统可能包含许多关于系统当前状态的信息。当系统发生变化时,这些数据结构必须做相应的改变以反映这些情况。例如,当用户登录进系统时将产生一个新的进程。核心必须创建表示新进程的数据结构,同时 将它和系统中其他进程的数据结构连接在一起。 大多数数据结构存在于物理内存中并只能由核心或者其子系统来访问。数据结构包括数据和指针;还有其他数据结构的地址或者子程序的地址。它们混在一起让Linux核心数据结构看上去非常混乱。尽管可能被几个核心子系统同时用到,每个数据结构都有其专门的用途。理解Linux核心的关键是理解它的数据结构以及Linux核心中操纵这些数据结构的各种函数。本书把Linux核心的 描叙重点放在数据结构上,主要讨论每个核心子系统的算法,完成任务的途径以及对核心数据结构的使用。
2.3.1 连接列表
Linux使用的许多软件工程的技术来连接它的数据结构。在许多场合下,它使用linked或者chained数据结构。 每个数据结构描叙某一事物,比如某个进程或网络设备,核心必须能够访问到所有这些结构。在链表结构中,个根节点指针包含第一个结构的地址,而在每个结构中又包含表中下一个结构的指针。表的最后一项必须是0或者NULL,以表明这是表的尾部。在双向链表中,每个结构包含着指向表中前一结构和后一结构的指针。使用双向链表的好处在于更容易在表的中部添加与删除节点,但需要更多的内存操作。这是一种典型的操作系统开销与CPU循环之间的折中。
2.3.2 散列表
链表用来连接数据结构比较方便,但链表的操作效率不高。如果要搜寻某个特定内容,我们可能不得不遍历整个链表。Linux使用另外一种技术:散列表来提高效率。散列表是指针的数组或向量,指向内存中连续的相邻数据集合。散列表中每个指针元素指向一个独立链表。如果你使用数据结构来描叙村子里的人,则你可以使用年龄作为索引。为了找到某个人的数据,可以在人口散列表中使用年龄作为索引,找到包含此人特定数据的数据结构。但是在村子里有很多人的年龄相同,这样散列表指针变成了一个指向具有相同年龄的人数据链表的指针。搜索这个小链表的速度显然要比搜索整个数据链表快得多。 由于散列表加快了对数据结构的访问速度,Linux经常使用它来实现Caches。Caches是保存经常访问的信息的子集。经常被核心使用的数据结构将被放入Cache中保存。Caches的缺点是比使用和维护单一链表和散列表更复杂。寻找某个数据结构时,如果在Cache中能够找到(这种情况称为cache 命中),这的确很不错。但是如果没有找到,则必须找出它,并且添加到Cache中去。如果Cache空间已经用完则Linux必须决定哪一个结构将从其中抛弃,但是有可能这个要抛弃的数据就是Linux下次要使用的数据。
2.3.3 抽象接口
Linux核心常将其接口抽象出来。接口指一组以特定方式执行的子程序和数据结构的集合。例如,所有的网络设备驱动必须提供对某些特定数据结构进行操作的子程序。通用代码可能会使用底层的某些代码。例如网络层代码是通用的,它得到遵循标准接口的特定设备相关代码的支持。 通常在系统启动时,底层接口向更高层接口注册(Register)自身。这些注册操作包括向链表中加入结构节点。例如,构造进核心的每个文件系统在系统启动时将其自身向核心注册。文件/proc/filesysems中可以看到已经向核心注册过的文件系统。注册数据结构通常包括指向函数的指针,以文件系统注册为例,它向Linux核心注册时必须将那些mount文件系统连接时使用的一些相关函数的地址传入。
2、如何在Linux下使用MySQL?
一、启动mysql服务
(1) rpm方式安装的mysql
-设置自动启动
#ntsysv --level 3
-手工启动
#service mysqld start
(2) 编译安装的mysql
-设置自动启动
#vi /etc/rc.d/rc.local
.......
/usr/local/mysql/bin/mysqld_safe
........
-手工启动
#/usr/local/mysql/bin/mysqld_safe
查看文章
mysql服务器(一)2009-06-15 11:18mysql服务器
一. 认识和安装mysql
1. 认识mysql
(1) mysql是一种网络数据库服务器产品
(2) mysql是开源的免费的
(3) mysql是关系型数据库管理系统,支持SQL.
(4) mysql无溢出漏洞
(5) mysql提供丰富的API
(6) mysql提供丰富的数据类型
(7) mysql具较强的移值性
2. 安装mysql软件
(1) rpm安装方式
#rpm -ivh perl-CGI....
perl-DBI....
perl-DBD-MySQL.....
mysq-....
mysql-server....
mysql-devel.....
(2) 编译安装方式
#groupadd mysql
#useradd -g mysql mysql
#tar -xzvf mysql-4.1.19.tar.gz
#cd mysql-4.1.19
#./configure --prefix=/usr/local/mysql
#make
#make install
#cp support-files/my-medium.cnf /etc/my.cnf
#cd /usr/local/mysql
#bin/mysql_install_db --user=mysql
#chown -R root .
#chown -R mysql var
#chgrp -R mysql .
3. 启动mysql服务
(1) rpm方式安装的mysql
-设置自动启动
#ntsysv --level 3
-手工启动
#service mysqld start
(2) 编译安装的mysql
-设置自动启动
#vi /etc/rc.d/rc.local
.......
/usr/local/mysql/bin/mysqld_safe
........
-手工启动
#/usr/local/mysql/bin/mysqld_safe
二、mysql的管理
1. 如何连接mysql服务器
(1) Linux客户机
#mysql [-h服务器地址] [-u用户名] [-p口令] [数据库名]
实例:
#mysql
mysql
#mysql -h192.168.3.1 -uadmin -plinux
mysql
(2) Windows客户机
-利用第三方mysql客户端软件
-利用浏览器连接(服务器必须安装web管理平台,如:phpmyadmin/webmin)
注:webmin的安装方法
#tar -xzvf webmin-1.25.tar.gz
#cd webmin-1.25
#./setup.sh
2. 数据库管理
(1) 认识mysql的数据库
-mysql服务器默认建立两个数据库,分别是mysql和test;其中mysql是系统数据库;test是学习数据库
-mysql服务器上的每个数据库都会在相应路径中建立与库同名的目录
-每个数据库可包含若干张表,每张表由*.frm、*.MYD和*.MYI文件构成
(2) 创建数据库
#mysql
mysqlcreate database 数据库名;
实例:
mysqlcreate database dbinfo;
(3) 查看服务器上已创建的数据库
#mysql
mysqlshow databases;
(4) 打开数据库
#mysql
mysqluse 数据库名;
实例:
mysqluse db1;
(5) 删除数据库
#mysql
mysqldrop database 数据库名;
实例:
mysqldrop database dbinfo;
3. 数据表的管理
(1) mysql提供的数据类型
-数字型
TINYINT 1字节
SMALLINT 2字节
MEDIUMINT 3B
INT 4B
BIGINT 8B
FLOAT[(M,D)] 4B
DOUBEL[(M,D)] 8B
DECIMAL(M,D)
-字符串型
char(M)
varchar(M)
tinytext
text
mediumtext
longtext
enum('..',...)
set(....)
-日期时间型
date
datetime
time
(2) 创建表
#mysql
mysqluse 数据库;
mysqlcreate table 表名 (
列名 数据类型 属性/约束;
.......
.....
) 表选项;
列属性/约束:
null/not null 是否允许为null
default 值 定义列的默认值
primary key 定义主键
check 表达式 定义列的取值范围
REFERENCES 表名(列名) 定义外部键
表选项:
TYPE=HEAP/ISAM/MYISAM/INNOBDB/BDB/MERGE //定义数据表引擎类型
实例:
mysqluse db1
mysqlcreate table users (
-id varchar(10) primary key,
-name varchar(20) not null,
-password varchar(30) not null) TYPE=MYISAM;
(3) 查看数据库中已建立的表
#mysql
mysqluse 数据库;
mysqlshow tables;
(4) 查看表的结构
#mysql
mysqluse 数据库;
mysqldescribe 表名;
(5) 修改表的结构
#mysql
mysqluse 数据库;
mysqlalter table 表名
add 列定义 //添加列
|drop 列名 //删除列
|add index 索引名 (列名) //添加索引
|drop index 索引名 //删除索引
|modify 列定义 //修改列的定义
|add primary key (列名) //添加主键
|drop primary key //删除主键
|rename 新表名 //修改表名称
实例:mysqlalter table users add memo text;
(6) 向表中插入数据
#mysql
mysqlinsert into 表名[(列名,...n)] values (值,...)
实例:
mysqlinsert into users values ('0001','user1','linux','system admin');
(7) 查看表中数据
#mysql
mysqlselect 列名 [as 别名] [,...n]|*|表达式
-from 表名[,...n]
-[where 条件表达式]
-[order by 列名]
-[group by 列名]
-[having 条件表达式]
实例:
mysqlselect * from users;
mysqlselect user,password from users;
mysqlselect user,password from users where name='user1';
mysqlselect * from users order by id desc;
mysqlselect 性别, count(*) as 人数 from 学生 group by 性别;
(8) 删除表中数据
#mysql
mysqldelete from 表名 [where 条件表达式];
实例:
mysqldelete from users;
mysqldelete from users where name='user1';
(9) 修改表中数据
#mysql
mysqlupdate 表名 set 列名=值 [where 条件表达式];
实例:
mysqlupdate users set password='132' where name='user1';
(10) 删除表
#mysql
mysqldrop table 表名;
实例:
mysqldrop table users;
3、linux中怎么查看所有数据表
你应该问的是mysql中查看数据内容吧
1)
查询所有行
命令格式:
select
字段1,
字段2,
...
from
表名
where
表达式
;
例如,查看表
myclass
中所有数据:
mysql
select
*
from
myclass;
4、如何查看linux磁盘分区和大小
如何查看Linux磁盘空间大小一、df命令;
df是来自于coreutils软件包,系统安装时,就自带的;我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置;
举例:
[root@localhost beinan]# df -lh
Filesystem容量已用可用已用%挂载点
/dev/hda8 11G 6.0G 4.4G 58% /
/dev/shm 236M 0 236M 0% /dev/shm
/dev/sda1 56G 22G 35G 39% /mnt/sda1
我们从中可以看到,系统安装在/dev/hda8;还有一个56G的磁盘分区/dev/sda1挂载在/mnt/sda1中;
其它的参数请参考man df
二、fdsik
fdisk是一款强大的磁盘操作工具,来自util-linux软件包,我们在这里只说他如何查看磁盘分区表及分区结构;参数-l,通过-l参数,能获得机器中所有的硬盘的分区情况;
5、Linux怎么从sql文件导出某些表的结构及数据?
方法/步骤
打开sqlserver2008,连接成功后,选择需要导出表的数据库--任务---生成脚本
显示:生成和发布脚本窗口--简介(某些可能关闭该页面的,可以省略该步骤),点击下一步
显示:生成和发布脚本窗口--选择对象--按照图片操作即可
显示:生成和发布脚本窗口--设置脚本编写选项--按照图片操作即可
点击完高级以后,弹出--高级脚本编写选项,选择常规--要编写的脚本的数据类型--架构和数据 (该步很重要)--选择完点击确定--点击下一步
显示:生成和发布脚本窗口--摘要--下一步--完成
6、linux命令:从登录mysql数据库,到访问l数据库的所有表,然后锁定某一个表,显示表结构,再查询表内容。
service mysqld start(启动mysql服务)
mysql(进入本地mysql数据库)
show databases;(查看有哪些数据库)
use 数据库名;(切换到XXX数据库)
show tables; (查看此库中有那些表)
然后就是对具体的某张表进行操作了
linux怎么看表结构的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于命令行查看表结构、linux怎么看表结构的信息别忘了在本站进行查找喔。