上一篇主要讲的是关于Mysql的分支MariaDB在Linux下的安装 顺利安装完成的小伙伴,就可以接着来试试SQL的魅力了

红色为命令 蓝色为自定义名

查看数据库

MariaDB [(none)]>show databases; #查看数据库列表+--------------------+

| Database |

+--------------------+

| information_schema |#数据库名称 例:本地有四个数据库 (数据库里保存的是table 数据表)| human |

| mysql |

| performance_schema |

+--------------------+

4 rows in set (0.00 sec)

首先我们先创建一个数据库

创建数据库

MariaDB [(none)]> create databasedata_name; #创建数据库 data_name为创建的自定义数据库名字

(注:创建的database不加s后缀,新手可别把查看数据库命令的databases搞混了)

Query OK,1 row affected (0.00 sec) #表示SQL语句执行成功

然后我们进入刚才创建的数据库

MariaDB [(none)]> usedata_name; #进入数据库库 data_name表示进入的数据库名Database changed #当前进入的数据库已经更改

这里首先要讲的是简单的创建

在数据库中创建一个数据表

MariaDB [data_name]>create table table_name (id int not null ,name varchar(20)); #创建简单数据表

table_name 表示创建的数据表名字  id表示这个数据表第一列的列名 int表示这列的可插入数据为整型not null 设置约束为不可为空5种约束

name表示第二列的列名  varchar(20)为字符类型 20是这列数据字符长度只能最多是20

Query OK,0 rows affected (0.06 sec)

查看一下我们数据库里新建的table表

MariaDB[data_name]>show tables;#查看当前数据库的所有数据表(包括视图表)+---------------------+

| Tables_in_data_name |

+---------------------+

| table_name |# table数据表的名字+---------------------+

1 row in set (0.00 sec)

查看数据表的结构的两种方式

方法一(适合查看此table数据表有什么列名和约束)

describe 可以用desc缩写来代替

MariaDB [data_name]>describe table_name; #查看table数据表结构的方法一 (直观可以看清楚数据表的列与绑定的约束)+-------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra | #field :列名 type:插入数据类型 null:是否为非空约束 NO说明不能为空(插入数据如果为空,插入SQL会失败)+-------+-------------+------+-----+---------+-------+ #KEY: 主键约束或外键约束 (空表示没有约束)   default:表示当插入数据为空时默认插入 (空代表w为null)

| id | int(11) | NO | | NULL | |#Extra: 中出现的信息一般不是太重要 对Extra等列意义深究的请查看别人的博客点击此处| name | varchar(20) | YES | | NULL | |

+-------+-------------+------+-----+---------+-------+

2 rows in set (0.00 sec)

方法二(适合查看细节 查询约束名的好办法)

MariaDB [data_name]> show create tabletable_name; #查看table数据表的创建的SQL语句 (可以看出当时这个数据表创建而使用的SQL语句方便查阅约束名和设置的约束其他的细节)+------------+-------------------------------------------------------------------------------------------------------------------------------+

| Table | Create Table |

+------------+-------------------------------------------------------------------------------------------------------------------------------+

| table_name | CREATE TABLE`table_name` ( # ENGINE: 表示这个表类型,目前Mysql最常用的是MyISAM、InnoDB两种表类型 各有各优势 两表的区别点击这里|   `id` int(11) NOT NULL, # CHARSET: 表示这个表的字符编码为Latin1(不支持中文)可以设置主流的gb2312 或utf8修改编码的具体方式点击这里|   `name` varchar(20) DEFAULT NULL# 有关中文字符编码的一劳永逸具体的设定解决办法在这|    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 |

+------------+-------------------------------------------------------------------------------------------------------------------------------+

1 row in set (0.00 sec)

是不是感觉上面的表好难受,怎么看都不爽,治疗强迫症的患者们,myslq 提供了强迫症的治疗方法 ↓

MariaDB [data_name]> show create tabletable_name\G # 这里吧;改成了\G 发现显示的样式又不同了,更加养眼了(强迫症的福音) \G不光是这里,

所有显示的的SQL语句都可以用\G来代替;*************************** 1. row ***************************

Table: table_nameCreate Table: CREATE TABLE`table_name` (

`id`int(11) NOT NULL,

`name`varchar(20) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin11 row in set (0.00 sec)

************************************** 我是动感光波****************************************

数据表的字段修改

喝杯茶,休息一下

有一天项目经理说忘了告诉你这个表缺少重要的一个字段,友谊的小船说翻就翻,但是别担心重做,SQL提供了反悔的机会可以任意添加或删除列

数据表字段的添加

MariaDB [data_name]> alter table table_name add phone varchar(11); #往数据表table_name添加一列 phone的 数据类型为字符串 最大长度为11

Query OK, 0 rows affected (0.06sec)

Records: 0 Duplicates: 0 Warnings: 0

数据表字段的删除

MariaDB [data_name]> alter table table_name drop phone; #删除数据表table_name中的phone列

(这比添加简单多了,果然毁灭比创造要简单多了 但是一切的创造不都是建立在毁灭之后吗?)

Query OK, 0 rows affected (0.06sec)

Records: 0 Duplicates: 0 Warnings: 0

如果是一个列的设置出错删除再修改一遍不会是很麻烦吗?这里有懒人办法 , 删除添加二合一 小霸王修改机

数据表字段的修改

MariaDB [data_name]> alter table table_name change name username varchar(20); #更改数据表table_name 的name字段名 为username 更改数据类型varchar 最大长度为20

Query OK, 0 rows affected (0.05sec)                   后面可以修改添加约束

Records: 0 Duplicates: 0 Warnings: 0

这里还有其他方法,可以改变类型却不能改变字段名的SQL语句方法

alter table table_name modify name char(20);

这种方法可以用change的新旧名字相同的方法来实现相同的效果,即change为小万能

最后一个 懒人神器  ——模板建表

一  拓展表的好助手

MariaDB [data_name]> create table copy1_table_name like table_name; #复制表结构table_name创建copy1_table_name 表(这种方法不复制此表的内部数据)

Query OK, 0 rows affected (0.06 sec)

二 备份表的好助手

MariaDB [data_name]> create table copy2_table_name as select * from table_name; #复制表结构table_name创建copy1_table_name 表(这种方法复制此表的内部数据)

Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0

这次的就到这,如果还缺少什么,或写错什么欢迎指出!

原生mysql 怎么创表_Mysql的基础使用之SQL原生语句的使用:表的 创建 删除 修改 (一)...相关推荐

  1. MySQL默认库可以删_个人总结:Sql(一:创建删除修改库表||附:mysql数据类型及默认值)...

    个人总结:Sql(一:创建&删除&修改库&表||附:mysql数据类型及默认值)createdatabasecreate tablealterdatabasealtertabl ...

  2. MYSQL数据库字段关联_MySQL数据库基础——操作关系表、连接查询

    MySQL数据库基础入门--day11 一.操作关联表 1.关联关系: 关联关系有:多对一.多对多和一对多. 一对一关联关系可以应用在以下几方面: (1)分割具有很多列的表 (2)由于安全原因而隔离表 ...

  3. Mysql的基础使用之SQL原生语句的使用:表的 创建 删除 修改 (一)

    上一篇主要讲的是关于Mysql的分支MariaDB在Linux下的安装 顺利安装完成的小伙伴,就可以接着来试试SQL的魅力了 红色为命令 蓝色为自定义名 查看数据库 MariaDB [(none)]& ...

  4. mysql添加自团_Mysql入门基础 数据库创建篇

    1.创建数据表---基础(高手跳过) 正统方法:create [TEMPORARY] table 表名 [if not exists] (创建的列项定义) [表的选项] [分区的选项];#正统的创建方 ...

  5. mysql数据库 on 命令_MySql 数据库基础命令

    desc 表名 : 查询表结构 show columns from 表名: 查询表结果 having 的使用,要不出现在查找字段内(select) 或者是在聚合函数内 ( sum();count() ...

  6. mysql 存储引擎接口_MySQL 的基础一(连接池, SQL接口, 查询解析器, 查询优化器, 存储引擎接口, 执行器,)...

    MySQL数据库的连接池 现在我们已经知道,我们任何一个系统都会有一个数据库连接池去访问数据库,也就是说这个系统会有多个数据库连接,供多线程并发的使用.同时我们可能会有多个系统同时去访问一个数据库,这 ...

  7. mysql数据库查询笔记_MySql数据库基础笔记(一)

    一.表与库的概念 数据库管理数据,它是以什么样的形式组成的? 生活中的表---->表 table 多行多列,传统的数据库都是这样的;声明了表头,一个表创建好了,剩下的就是往表中添加数据 多张表放 ...

  8. mysql求女生人数_mySql数据库基础

    SQL 结构化查询语言. MySQL 数据库管理系统. SQL Server 微软的数据库管理系统. Oracle(甲骨文) 数据管理系统. show databases; 显示数据库管理系统中所有数 ...

  9. mysql数据库小系统_Mysql数据库基础小实例 学员管理系统菜单

    package test; import java.sql.*; import java.util.Scanner; public class testSql002_StudentTest { /** ...

  10. mysql进入数据库命令_mysql 数据库基础命令

    数据库命令: 进入 mysql 库; use mysql; 查看用户权限 select * from user where user='root' \G; 创建数据库 create database ...

最新文章

  1. 使用nginx进行负载均衡
  2. 图解动软代码生成器使用
  3. java 日期 区间_如何实现时间区间的分割??
  4. RTSP鉴权认证之基础认证和摘要认证
  5. 如何测试软件的性能瓶颈,性能测试如何定位瓶颈
  6. ApplicationId 与 PackageName
  7. Modelsim的安装教程
  8. vue项目中引入外部字体(超详细)
  9. UVA 10158 (记忆化搜索)
  10. 如何把照片压缩到20k一下_如何把2寸彩照压缩到20k以下?
  11. ios从打包到上架全过程
  12. java获取当前时间戳
  13. 《UE4游戏开发》之 《画质控制》
  14. 化学反应中的能量变化
  15. 批量修改文件后缀名 文件扩展名
  16. 报错java找不到符号 符号:类xxx位置xxxx
  17. gz, bz2, bz, Z, tgz, zip, rar, lha, rpm等格式的解压……
  18. openofdm中complex_to_mag的分析
  19. Matlab画x=a,y=b直线
  20. 【自学Java】桌球游戏-边界检测,桌球碰撞反弹的实现,以及模拟真实运动,小球减速运动

热门文章

  1. Java对泛型的支持(二)- 高级语法
  2. IS-IS hello 包结构及邻接关系的建立
  3. 44.mysqlbinlog
  4. css中的clip:rect() 只能在绝对定位的元素上使用
  5. Win10下Pytorch的安装和使用[斗之力三段]
  6. layout components pages及基本操作
  7. 【笔记】生成函数与大背包问题
  8. HR_Hash Tables: Ransom Note
  9. Java8 Base64
  10. 【Maven】运行项目