Mysql_SQLyog 数据库的创建
1、创建数据库
CREATE DATABASE [IF NOT EXISTS] westos;
2、删除数据库
DROP DATABASE [IF EXISTS] westos;
3、使用数据库
-- tab键的上面,如果你的表名或者字段是一个特殊字符,就需要带``
USER `school`
4、查看数据库
show DATABASE -- 查看数据库
数据库的数据类型
数值型
- tinyint 十分小的数据 1个字节
- smallint 较小的数据 2个字节
- mediumint 中等大小的数据 3个字节
- **int ** 标准的整数 4个字节 <常用的>
- bigint 较大的数据 8个字节
- float 浮点数 4个字节
- double 浮点数 8个字节
- decimal 字符串类型的浮点数 金融计算的时候一般使用
字符串类型
- char 字符串固定大小的 0~255
- varchar 可变字符串 0~65535 <常用的 String>
- tinytext 微型文本 2^8-1
- text 文本串 2^16-1
时间日期
- data YYYY-MM-DD,日期
- time HH :mm:ss 时间格式
- **datatime YYYY-MM-DD HH :mm:ss 最常用的时间格式 **
- timestamp 时间戳 1970.1.1 到现在的毫秒数!
- year 年份表示
null
- 没有值 ,未知
- 注意 不要使用NUll进行运算,结果为NULL
数据库的字段属性(重点)
Unsigned:
- 无符号的整数
- 声明了该列不能为负数
zerofill:
- 0填充的
- 不足的位数,使用0来填充 ----int (3) 5 --> 005
自增
- 自动在上一条记录上加 1
- 通常用来设计主键的index ,必须是整数类型
- 可以是自定义的设计主键自增的起始值和步长
非空NULL / NOT NULL
- 指定该列是否为空或者不为空,违反时会报错
SQL语句常见数据库表
CREATE TABLE IF NOT EXISTS `student`(
`id` INT(4) not null AUTO_INCREMENT COMMENT '学号',
`name` varchar(30) not null default '匿名' comment'姓名',
`pwd` varchar(20) not null default '123456' COMMENT '密码',
`sex` varchar(2) not null default '男'COMMENT '性别',
`birthday` datatime dafault NULL COMMENT '出生日期',
PRIMARY KEY (`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
注意
- 使用英文的(),表的名称和字段尽量使用``括起来
- AUTO_INCREMENT 自增
- 字符串使用单引号括起来
- 所有的语句后面加 ,英文的最后的一个字段不用加
- 主键一般一个表只有一个
格式
CREATE TABLE [IF NOT EXISTS] `表名`(
`字段名` 列类型 [属性][索引][注释],
`字段名` 列类型 [属性][索引][注释],
......
`字段名` 列类型 [属性][索引][注释]
PRIMARY KEY (`字段名`)
)[表类型][字符串设置][注释]
-- 字符串设置 default charset=utf8
- 查看数据库表的定义语句 show create table student
- DESC student --显示表的结构
数据库引擎
默认使用 INNODB
早些年使用 MYISAM
| MYISAM | INNODB | |
|---|---|---|
| 事务支持 | 不支持 | 支持 |
| 数据行锁定 | 不支持 | 支持 |
| 外键约束 | 不支持 | 支持 |
| 全文索引 | 支持 | 不支持 |
| 表空间的大小 | 较小 | 较大,约2倍 |
常规使用操作:
- MYISAM 节约空间,速度较快
- INNODB 安全性高,事务的处理,多表多用户操作
所有的数据库文件都存在在 data目录下一个文件夹就对应一个数据库
本质还是文件的存储!!
MYSQL引擎在物理上的区别:
- INNODB 在数据库表中 只有一个 .frm文件,以及上级目下的 lbdata1文件
- MYISAM对应的文件
- *.frm 表结构的定义文件
- *.MYD 数据文件(data)
- *.MYI 索引文件 (index)
设置数据库表的字符集编码
CHARSET=utf8
不设置会出现问题,就会变成默认的字符集编码----(不支持中文)
默认的是 Latin1,不支持中文
-- 可以在my.ini中配置默认的编码
character-set-server=utf8
-- 建议不要自己去配置,为了代码可以在更多电脑中运行,每次创建表时在后面自己配置
+++
创建数据库的实例
CREATE DATABASE stu_info -- 创建了一个数据库名为:stu_info
-- 数据库下的表的实例
-- student学生信息表
create table if not exists `student`(
`sno` char(9) comment '学号',
`sname` char(20) unique comment '姓名',
`sex`char(2) not null comment '性别',
`sage`smallint not null comment '年龄',
`sdept` char(20 ) not null comment '专业',
primary key(`sno`)
)engine=innodb default charset=utf8
-- 课程信息表格
create table if not exists `Course`(
`cno` char(9) not null comment '课程号',
`cname` char(40) not null comment '课程名',
`cpno` char(4) not null comment '先修课',
`credit` smallint not null comment '课程学分',
primary key (`cno`)
)engine=innodb default charset=utf8
此处我没有做数据表的外键,因为后面的练习需要删除数据,需要添加数据,所以就简单的练习下
Mysql_SQLyog 数据库的创建的更多相关文章
- SQL Server 在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases)
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 遇到的问题(Problems) 实现代码(SQL Codes) 方法一:拼接SQL: 方法二: ...
- Oracle数据库的创建以及远程连接(PL/SQL Developer远程连接数据库)
dbca: 创建数据库 netca: 创建监听程序 netmgr: 配置监听服务(将数据库服务注册到监听器上) netca 与 netmgr 两步可以直接在 ORACLE_HOME/network/a ...
- Oracle数据库如何创建DATABASE LINK?
Oracle数据库如何创建DATABASE LINK? 2011-08-09 14:54 taowei20061122 CSDN博客 http://blog.csdn.net/taowei20061 ...
- 跟我学Windows Azure 二 使用SQL Azure创建数据库服务器,创建数据库,创建表
登陆Windows Azure门户 输入我们上一节课所注册的帐号及密码,点击登陆. 选择SQL 数据库,选择服务器 选择创建数据库服务器 设置访问数据库服务器的登陆帐号及密码 点击确定完成数据库服务器 ...
- tp根据数据库动态创建微信菜单
喻可伟的博客 tp根据数据库动态创建微信菜单 $button = array();$class = M('ucenter_menu')->limit(3)->select();//取出 ...
- Android之数据库的创建
一.SQLite介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP ...
- 数据库开发基础-SQl Server 控制数据库的服务+数据库的创建与管理(增删改查)
控制数据库的服务: 方法一: 1.Windows+R 打开运行 打开cmd 2.输入net start MSSQLserver 启动数据库服务 输入net stop MSSQLserver 关闭数据 ...
- 11g 使用rman duplicate复制数据库,创建辅助实例
一,创建所需目录 1)创建审计文件目录 PROD1@dbrac1 /dsg/oracle11$ cd $ORACLE_BASE/admin PROD1@dbrac1 /u01/app/oracle/a ...
- (转)Android学习笔记---SQLite介绍,以及使用Sqlite,进行数据库的创建,完成数据添删改查的理解
原文:http://blog.csdn.net/lidew521/article/details/8655229 1.SQLite介绍:最大特点是,无数据类型;除了可以使用文件或SharedPrefe ...
随机推荐
- HashMap方法源码分析
本文将分析put(),resize(),get()和remove()方法的源码 putval()方法 大致步骤:计算key的hash值:根据hash值计算数组下标:判断下标处是否有节点,无节点则直接插 ...
- Django(7)url命名的作用
前言 为什么我们url需要命名呢?url命名的作用是什么?我们先来看一个案例 案例 我们先在一个Django项目中,创建2个App,前台front和后台cms,然后在各自app下创建urls.py文件 ...
- Git 系列教程(8)- 远程仓库的使用
查看远程仓库 如果想查看你已经配置的远程仓库服务器,可以运行 git remote 命令,它会列出你指定的每一个远程服务器的名称 如果是刚 clone 下来的自己的库,能看到 origin,这是 Gi ...
- Jenkins 基础篇 - 任务分类
从前面的小节中我们看到在创建 Jenkins 任务的时候有好几种类型,如果你专门安装了 Maven 相关插件,可能还会有一个[构建一个 maven 项目]的任务类型,那这些任务类型究竟有何区别,以及我 ...
- copy和deep.copy
https://blog.csdn.net/qq_32907349/article/details/52190796 加上crossin公众号上的可变对象与不可变对象 a=[1,2,3,[4]] b= ...
- Map 实现类之一:HashMap
Map 实现类之一:HashMapHashMap是 Map 接口 使用频率最高的实现类.允许使用null键和null值,与HashSet一样,不保证映射的顺序.所有的key构成的集合是Set:无 ...
- [bug] org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
问题 原因不明,按参考文章中的做法,加了空格,clean后解决 参考 http://www.qishunwang.net/news_show_7922.aspx https://www.cnblogs ...
- [DB] Spark Core (3)
高级算子 mapPartitionWithIndex:对RDD中每个分区(有下标)进行操作,通过自己定义的一个函数来处理 def mapPartitionsWithIndex[U](f: (Int, ...
- linux服务之NTP及chrony时间同步
博客园 首页 联系 管理 linux服务之NTP及chrony时间同步 一.NTP时间同步 NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步 ...
- Rust模块化
Rust模块化 模块化有助于代码的管理和层次逻辑的清晰 Rust模块化有多种方式: 1.嵌套模块 嵌套模块就是直接在要使用模块的文件中声明模块 mod food{//声明模块 pub struct C ...