数据库创建 表

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 的常用数据类型

    数值型

浮点型

日期/时间

字符串(字符)类型

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

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

创建表

创建表时 要选择 数据库。

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

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

查看表 show  tablse;

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

查看表结构  desc 数据表名;

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

主键 primary key(唯一标识)

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

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

不更新主键列中的值;

不重用主键列的值;

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

使用AUTO_INCREMENT 自增(auto_increment)

设置默认值(DEFAULT)(default)

更新表(ALTER TABLE)  改变表

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

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

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

删除字段名(列):

在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 源数据表名;

你可能感兴趣的:(数据库创建 表)