SQL语句

约束具体表现在表的层面,属性具体表现在字段的层面。

1.SQL语句的类型

根据作用进行分类:

DDL  数据定义语言

create,drop,alter

DML 数据操作语言(对数据本身做操作,增删改查)

insert,delete,update,select

DCL  数据控制语言

grant,revoke

2.数据库管理操作(DDL数据定义语言)

1.查看数据库

如上图所示,使用show databases;查看数据库

mysql数据库中本来就有的4个数据库的基本作用

information_schema 

 mysql 

 performance_schema 

sys 

MySQL首次启动初始化生成的数据库,作用说明

information_schema 【保存数据库服务器上元数据信息,(数据库名称,数据表名,字段名称,数据类型)】

 mysql 【保存用户名,密码,权限】

 performance_schema 【保存数据服务器性能相关的数据,例如连接数,进程,线程,】

sys【储存的是跟 performance_schema 中一模一样的信息,】

对 performance_schema数据库的简化,方便数据路管理员查看

mysql软件中的数据库表现在操作系统上面就是在/var/lib/mysql中有对应的文件夹名称

如上图所示,在MySQL中有自己的数据目录,即表现在操作系统层面就是在/var/lib/mysql中有与数据库名称相对应的文件夹。

2.创建数据库

create database test01;

可以使用show databases; 查看数据库当前系统中有哪些数据库,

但是想查看当前系统处于那个数据库可以使用命令select database();

如上图所示,可以使用命令select database();来查看当前处于那个数据库中,

可以使用命令show create database test01;

来查看所创建的数据库的详细信息。

也可以在Linux操作系统  使用  命令 ls /var/lib/mysql  查看MySQL自己的数据目录中是否有与数据库名称相对应的文件夹名称,

在创建数据库的同时必须设置数据库的字符集为utf8,不然无法存入中文数据。

create database test02 charset utf8;

其中的charset utf8参数是用来设置字符集,如果设置字符集是utf8则可以存入中文。

如果不设置字符集为charset utf8则只能存入英文和数字以及特殊符号,不能存入中文,

如果想要数据库中有中文则必须设置数据库的字符集是utf8,如果不给数据库设置字符集则数据库中默认的字符集是latin,中文的数据是无法存入数据库的。

3.删除数据库

如上图所示。可以使用命令drop database test01;

去删除数据库test01

4.切换数据库

use test02;

使用use <数据库名称>就可以切换数据库

如上图所示,可以用命令use <数据库名称>,来切换数据库,可以使用select database();命令来查询当前处于那个数据库下。

3.数据表管理操作

1.创建表

create table 表名(字段名称 数据类型 {约束}【属性】字段名称 数据类型{约束}【属性】。.........)

数据类型:

1.数字

int (表示整数)

int unsigned  表示无符号整数即只能存入正数。

float(m,d)//单精度浮点数{8位精度,m个总数,d个小数}

double(m,d)//双精度浮点数

decimal(m,d)//精确数字,财务数据

2.字符串

char(20)     //定长字符,最多存入大小为20个字符的数据。如果存入数据字符数小于20则以空格补齐。

varchar(50)   //可变长字符,最多存入大小为50个字符的数据。如果存入数据字符数小于50则以空格补齐。

enum(“男”,“女”)    //枚举

3.日期时间

date   YYYY-MM-DD

time  HH:MM:SS

datetime   //年月日时分秒连接到一起

当你以后在数据库的表中操作字符串数据日期时间数据时,必须用引号将字符串数据日期时间数据引起来,单引号或者是双引号格式不限。

属性:

1.primary  key  主键

2.unique  key  惟一键

3.not null  不允许为空

4.auto_increment  自动增长(表中的编号,如果一个表中有几行信息被删除了,那么相应表的编号不会改变。)

5.dafault   “值”   是用来设置字段的默认值的,比方说当你在数据库中的表中某一字段中某一行什么信息都不填时,系统填入默认值。

2.删除表

首先要切换到相对应的数据库中,然后使用

drop table 表的名称; 去删除表

最后可以用命令show full tables;

来查看这个数据库中有哪些表。

3.查看表

在数据库中可以使用show tables; 来查看数据库中有哪些表,

也可以使用show full tables;来查看更多表的信息。

4.查看表的结构

如上图所示,可以使用命令desc 表名称;来查看表的具体结构。

实际创建表

mysql> create table inof(
    -> ID int primary key auto_increment,
    -> name char(10) not null);
Query OK, 0 rows affected (0.01 sec)

如上述文字,其中在数据库test01中创建了名称为inof的表,这个表中有两个字段分别是ID和name

一般我们在create database test01 charset utf8;的数据库进行表的创建时必须要有一个字段是关于编号的,即对表的字段进行设置:ID int primary key auto_increment not null

如上所示,为表的编号字段设置了三个属性分别是primary key主键属性(第一数据不能为空,

第二填入数据的这一列不能为空){通常为编号字段设置主键属性。}

auto_increment自动增长

not null不允许为空

当我们在MySQL数据库中去创建表的时候可以使用use 数据库名称,先切换到相应的数据库中,或者使用create table 数据库名称.表名称();   这也是表明了我们想在那个数据库中建表。

在数据库中可以使用show tables; 来查看数据库中有哪些表,也可以使用show full tables;来查看更多表的信息。

一个数据库表现在操作系统层面就是一个文件夹(目录),一个表表现在操作系统层面就是多个文件。

  • 17
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值