继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

创建数据库 表(基本操作)

慕哥9229398
关注TA
已关注
手记 1099
粉丝 198
获赞 911

1.数据库 (mysql redis mongodb) 我们要学的

2.DBMS (data base management system) 数据库管理系统

mysql:

GRANT ALL PRIVILEGES ON . TO 'root'@'ip地址' IDENTIFIED BY '密码' WITH GRANT OPTION;

远程操控

quit 退出数据库

mysql -h ip地址 -u root

default_storage_engine 默认存储引擎

memor 内存 (存储引擎)

mysql -h root -u 进入

创建数据库:

create schema 数据库名;

create database 数据库名;(数据库创建,没声明字符集 默认为latin1)

create database 数据库名 charset="字符集";(创建数据库并设置字符集)

数据库不能重名 如果重名会报错:create database 数据库名 if not exists charset="字符集";(如果没有这个数据库,就创建 ,如果有不报错)

显示

show databases;显示所有的数据库。

默认数据库:   mysql - 用户权限相关数据

test - 用于用户测试数据

information_schema - MySQL本身架构相关数据

performance_schema - 主要用于存储数据库服务性能参数

use 数据库名;选择数据库。(database changed 表示成功选择了数据库)

select database();查看当前所在数据库

查看当前数据库编码格式 。 show variables like "character_set_database";

删除

删除数据库 drop database 数据库名;

当我们使用上面的命令删除数据库,如果指定的数据库不存在,将产生如图所示的异常信息。

为了解决这一问题,可以在DROP DATABASE语句中使用IF EXISTS从句来保证只有当数据库存在时才执行删除数据库的操作。

drop database if exists 数据库名称;

修改数据库的语句的语法格式如下:

ALTER {DATABASE | SCHEMA} [数据库名] [DEFAULT] CHARACTER SET [=] 字符集 | [DEFAULT] COLLATER [=] 较对规则名称

数据库中储存引擎和数据类型

show engines;查看mysql中支持的全部存储引擎。

SHOW VARIABLES LIKE 'default_storage_engine'; 查询默认的存储引擎。

mysql 中默认的存储引擎是 innodb

InnoDB存储引擎:用于事务处理应用程序,具有众多特性,包括ACID。事务支持,支持外键。同时支持崩溃修复能力和并发控制。 ACID:

  • 原子性(Atomicity):整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

  • 一致性(Consistency):一个事务可以封装状态改变(除非它是一个只读的)。事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务有多少。

  • 隔离性(Isolation):隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统

  • 持久性(Durability):在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。

mysql 的常用数据类型

数值型

[图片上传失败...(image-d634fd-1533656361182)]

  • 浮点型

[图片上传失败...(image-64e151-1533656361182)]

  • 日期/时间

  • 字符串(字符)类型

[图片上传失败...(image-ce172-1533656361182)]

char(字节) 定长字符串 (如果数据小于 自己定的字节长度 自动补全到自己定的字节长度)

varchar(字节)变长字符串(自己定的字节为最大字节数,有多少字节写入多少字节)

创建表

创建表时 要选择 数据库。

使用CREATE TABLE 语句 新表的的名字,在关键字CREATE TABLE 之后; 表列的名字和定义,用逗号分隔;

create table 表名(定义1,定义2);

查看表 show tablse;

查看表详细信息 show create table 表名;

[图片上传失败...(image-a5436a-1533656361182)]

查看表结构 desc 数据表名;

[图片上传失败...(image-444484-1533656361182)]

查看某一列的信息 desc 数据表名 列名;

[图片上传失败...(image-3c98ba-1533656361182)]

主键 primary key(唯一标识)

  • 任意两行都不具有相同的主键值;

  • 每个行都必须具有一个主键值(主键列不允许NULL值)

  • 不更新主键列中的值;

  • 不重用主键列的值;

  • 不在主键列中使用可能会更改的值。(例如,如果使用一个 名字作为主键以标识某个供应商,当该供应商合并和更改其名字时,必须更改这个主键。)

使用AUTO_INCREMENT 自增(auto_increment)

设置默认值(DEFAULT)(default)

更新表(ALTER TABLE) 改变表

添加字段:alter table 表名 add 要添加的列名 数字格式 默认值(添加一列)

alter table 表名 add(要添加的第一列名 数字格式 默认值,要添加的第二列名 数字格式 默认值);添加多列字段

[图片上传失败...(image-78af78-1533656361181)]

修改字段名(列) alter table 表名 change 字段名 新字段名 数据类型

[图片上传失败...(image-3e1cc1-1533656361181)]

删除字段名(列):

在MySQL的ALTER TABLE中,使用DROP col_name子句可以删除指定字段。下面将通过一个具体实例演示如何删除字段。

alter table drop 列名:删除指定的字段

修改表名:

alter table 老的表名 rename as 新的表名;

rename table 数据表名1 to 数据表名2;

删除表:

drop table 表名;

drop table if exists 表名;

复制表:

create table if not exists 数据表名 like 源数据表名;



作者:试翼腾渊
链接:https://www.jianshu.com/p/11bacda45e4b


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP