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 数据库的创建的更多相关文章

  1. SQL Server 在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 遇到的问题(Problems) 实现代码(SQL Codes) 方法一:拼接SQL: 方法二: ...

  2. Oracle数据库的创建以及远程连接(PL/SQL Developer远程连接数据库)

    dbca: 创建数据库 netca: 创建监听程序 netmgr: 配置监听服务(将数据库服务注册到监听器上) netca 与 netmgr 两步可以直接在 ORACLE_HOME/network/a ...

  3. Oracle数据库如何创建DATABASE LINK?

    Oracle数据库如何创建DATABASE LINK? 2011-08-09 14:54 taowei20061122 CSDN博客  http://blog.csdn.net/taowei20061 ...

  4. 跟我学Windows Azure 二 使用SQL Azure创建数据库服务器,创建数据库,创建表

    登陆Windows Azure门户 输入我们上一节课所注册的帐号及密码,点击登陆. 选择SQL 数据库,选择服务器 选择创建数据库服务器 设置访问数据库服务器的登陆帐号及密码 点击确定完成数据库服务器 ...

  5. tp根据数据库动态创建微信菜单

    喻可伟的博客   tp根据数据库动态创建微信菜单 $button = array();$class = M('ucenter_menu')->limit(3)->select();//取出 ...

  6. Android之数据库的创建

    一.SQLite介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP ...

  7. 数据库开发基础-SQl Server 控制数据库的服务+数据库的创建与管理(增删改查)

    控制数据库的服务: 方法一: 1.Windows+R 打开运行  打开cmd 2.输入net start MSSQLserver 启动数据库服务 输入net stop MSSQLserver 关闭数据 ...

  8. 11g 使用rman duplicate复制数据库,创建辅助实例

    一,创建所需目录 1)创建审计文件目录 PROD1@dbrac1 /dsg/oracle11$ cd $ORACLE_BASE/admin PROD1@dbrac1 /u01/app/oracle/a ...

  9. (转)Android学习笔记---SQLite介绍,以及使用Sqlite,进行数据库的创建,完成数据添删改查的理解

    原文:http://blog.csdn.net/lidew521/article/details/8655229 1.SQLite介绍:最大特点是,无数据类型;除了可以使用文件或SharedPrefe ...

随机推荐

  1. 将一个eclipse的SSM项目用IDEA打开并运行

    项目部署 将一个eclipse项目用idea打开,并且 部署到tomcat中 .或者你tomcat部署成功,但是启动就是404,下面的步骤就要更认真看了 项目配置 打开idea,Import Proj ...

  2. js--吐血总结最近遇到的变态表单校验---element+原生+jq+easyUI(前端职业生涯见过的最烦的校验)

    最近写了无数各种形式的表单,记录下奇奇怪怪的校验规则~ 一:首先是element自带的rules校验规则: element作为常用框架,自带rules属性简单易懂,官方文档一目了然,不再赘述,应付常用 ...

  3. HDU - 3347 Calculate the expression — 模拟 + map存变量

    传送门 题意:从输入开始,1.输入样例数:2.然后输入一组样例中的行数n:3.前n-1行为定义变量(之间使用空格隔开),只需要map存进去就可以了(这里有覆盖的情况,故使用mp["s&quo ...

  4. 2020BUAA-团队介绍-采访

    团队作业-团队介绍和采访 项目 内容 课程:北航2020软件工程 博客园班级地址 作业要求 团队作业-团队介绍和采访 团队介绍 姓名 有图有真相 个人介绍 刘y 精通(没那么熟悉)c++和python ...

  5. Java Arrays.sort()重写comparator方法

    先看一下接口 Arrays.sort(T[],Comparator<? super T> c); comparator要重写compare方法 compare方法大概长这样,返回值> ...

  6. 探索专有领域的端到端ASR解决之道

    摘要:本文从<Shallow-Fusion End-to-End Contextual Biasing>入手,探索解决专有领域的端到端ASR. 本文分享自华为云社区<语境偏移如何解决 ...

  7. LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project

    LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project Peter盼 2014-04-23 11:25:49  20302  收藏  ...

  8. Fedora镜像下载地址

    Fedora镜像下载地址 Fedora 7核心源码包在: http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/7/F ...

  9. docker,docker-compose,harbor安装

    安装docker-ce 下载docker-ce.repo: wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/li ...

  10. Ajax向服务器端发送请求

    Ajax向服务器端发送请求 Ajax的应用场景 页面上拉加载更多数据 列表数据无刷新分页 表单项离开焦点数据验证 搜索框提示文字下拉列表 Ajax运行原理 Ajax 相当于浏览器发送请求与接收响应的代 ...