设为首页 收藏本站
查看: 773|回复: 0

[经验分享] Mysql DBA 高级运维学习之路-mysql建表语句及表知识

[复制链接]

尚未签到

发表于 2018-10-6 11:43:13 | 显示全部楼层 |阅读模式
9.9   表操作

9.9.1以默认字符集建库
  以默认格式的为例,指定字符集建库
  

system@ceshi 07:0205->create database wwn;  
Query OK, 1 row affected (0.00 sec)
  
system@ceshi 07:0339->SHOW CREATE DATABASE wwn\G;
  
*************************** 1. row ***************************
  Database: wwn
  
Create Database: CREATE DATABASE `wwn` /*!40100 DEFAULT CHARACTER SET latin1 */
  
row in set (0.00 sec)
  

9.9.2 建立表
  (1)建表的基本命令语法
  Create table(
  ,
  …………
  
  )
  (2)建表的语句
  下面为人工建表的写法,表名student
  

system@ceshi 07:3231->create table student(  id int(4) not null,
  name char(20) not null,
  age tinyint(2) NOT NULL default '0',
  dept varchar(16) default NULL
  );
  
Query OK, 0 rows affected (0.00 sec)
  

  第二种MySQL生成的检表语句student表例子
  

Create Table: CREATE TABLE `student` (  `id` int(4) NOT NULL,
  `name` char(20) NOT NULL,
  `age` tinyint(2) NOT NULL DEFAULT '0',
  `dept` varchar(16) DEFAULT NULL
  
) ENGINE=InnoDB DEFAULT CHARSET=latin1
  

  (3)Student表的直观展示
DSC0000.png

  (4)实战演示
  执行student表建表语句
  

system@ceshi 07:5806->use wwn  
Database changed

  
system@ceshi 09:5115->create table student(>  

  查看建表语句
  

system@ceshi 09:5115->show create table student\G  
*************************** 1. row ***************************
  Table: student
  
Create Table: CREATE TABLE `student` (
  `id` int(4) NOT NULL,
  `name` char(20) NOT NULL,
  `age` tinyint(2) NOT NULL DEFAULT '0',
  `dept` varchar(16) DEFAULT NULL
  
) ENGINE=InnoDB DEFAULT CHARSET=latin1
  
1 row in set (0.00 sec)
  

  需要注意的是mysql5.1和mysql5.5环境的默认建表语句中的引擎不同,如果希望控制表的引擎,就要在建表语句里显示指定的引擎。
  Mysql5.1及以前默认的引擎为InnoDB,Mysql5.5.5以后默认引擎为InnoDB。
  查看表结构
  

system@ceshi 09:5934->desc student;  
+-------+-------------+------+-----+---------+-------+
  
| Field | Type| Null | Key | Default | Extra |
  
+-------+-------------+------+-----+---------+-------+

  
|>  
| name  | char(20)| NO   | | NULL|   |
  
| age   | tinyint(2)  | NO   | | 0   |   |
  
| dept  | varchar(16) | YES  | | NULL|   |
  
+-------+-------------+------+-----+---------+-------+
  
4 rows in set (0.00 sec)
  

9.9.3 Mysql表的字段类型
  我们可以参考mysql参考手册学习
  (1)数字类型
DSC0001.png

  (1)日期和时间类型(DATE日期类型:支持范围是1000-01-01到9999-12-31。Mysql以YYYY-MM-DD格式来显示DATE值,但允许使用字符串或数字把值赋给DATE列)
DSC0002.png

  (3)串类型
DSC0003.png

  最重要的是下面三个类型
  1.INT(M)型:正常大小整数类型。
  2.CHAR(M)型:定长字符串类型,当存储时总是用空格填满右边的指定的长度。
  3.VARCHAR型:变长字符串类型。
  有关mysql字段类型详细内容,请参考mysql手册。

9.9.4 查看建表的结构
  a. 查询表结构命令
  Desc表名或者show columns from 表名,例如:
  

system@ceshi 12:1602->desc student;  
system@ceshi 12:1602->show columns from student;
  
system@ceshi 12:1931->use wwn
  
Database changed
  
system@ceshi 12:1943->desc student;
  
+-------+-------------+------+-----+---------+-------+
  
| Field | Type| Null | Key | Default | Extra |
  
+-------+-------------+------+-----+---------+-------+

  
|>  
| name  | char(20)| NO   | | NULL|   |
  
| age   | tinyint(2)  | NO   | | 0   |   |
  
| dept  | varchar(16) | YES  | | NULL|   |
  
+-------+-------------+------+-----+---------+-------+
  
system@ceshi 12:1945->show columns from student;
  
+-------+-------------+------+-----+---------+-------+
  
| Field | Type| Null | Key | Default | Extra |
  
+-------+-------------+------+-----+---------+-------+

  
|>  
| name  | char(20)| NO   | | NULL|   |
  
| age   | tinyint(2)  | NO   | | 0   |   |
  
| dept  | varchar(16) | YES  | | NULL|   |
  

  
4 rows in set (0.00 sec)
  

9.9.5 查询已经建表的语句
  b.查已建表的语句(可以看索引及创建表的相关信息)
  

show create table student\G  
system@ceshi 12:2308->show create table student\G
  
*************************** 1. row ***************************
  Table: student
  
Create Table: CREATE TABLE `student` (
  `id` int(4) NOT NULL,
  `name` char(20) NOT NULL,
  `age` tinyint(2) NOT NULL DEFAULT '0',
  `dept` varchar(16) DEFAULT NULL
  
) ENGINE=InnoDB DEFAULT CHARSET=latin1
  
1 row in set (0.00 sec)



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-613709-1-1.html 上篇帖子: Mysql DBA 高级运维学习之路-创建Mysql用户及授权的多种方法实战 下篇帖子: Mysql DBA 高级运维学习之路-初步增量恢复mysql数据库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表