三、常用的sql语句

1)mysql 初始数据库

information_schema    //虚拟库,存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。

information_schema 虚拟库 不占用物理存储空间 数据存储在物理内存里,存储已有库和表的信息

 mysql      //mysql的核心数据库,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息,不可以删除。

 performance_schema //内存型数据库,使用performance_schema存储引擎,通过事件机制将mysql服务的运行时状态采集并存储本库

 sys          //这个库是通过视图的形式把information_schema 和performance_schema结合起来,查询出更加令人容易理解的数据

test                        //测试数据库,所有用户均对他有完全权限

2)把数据存储在数据库服务器上的过程?

连接数据库服务器(命令行   API  图形工具)  选择库 (存放数据的文件夹) 选择表 (文件) 插入记录(文件中的行)   断开连接

 2.1 sql命令使用规则?

操作指令不区分大小写(密码、变量值除外)    每条SQL指令以 ; 结束

不支持 Tab 键自动补齐        \c 可废弃当前编写错的操作指令,但前面不能有 ;

 2.2 sql命令分类?

DDL 数据定义语言(create alter drop)      DML 数据操作语言(insert update delete)

DCL 数据控制语言(grant revoke)          DTL 数据事物语言(commit rollback savepoint )

 2.3管理数据库的sql命令

Show  databases;      //显示已有的库

Use 库名;               //切换库

Select database();      //显示当前所在的库

Create database 库名;  //创建新库

Show tables;            //显示已有的表

Drop  database 库名;   //删除库

2.4 数据库的命名规则

可以使用数字/字母/下划线,但不能纯数字    区分大小写,具有唯一性     不可使用指令关键字、特殊字符

3)管理表的 sql命令

create  table  gamedb.stuinfo( name  char(10),addr  char(20) );   //创建表

drop  table    库名.表名   ;        //删除表

select   *  from   库名.表名;      //查看表记录

desc    库名.表名     ;            //查看表结构

 2.8  管理记录的sql命令

insert    into   库名.表名  values(字段值列表);  //插入

insert into  gamedb.stuinfo values ("tom","beijing");

update  库名.表名  set   字段名=值 where  条件;   //修改表记录

update  gamedb.stuinfo  set  addr="shanghai" where  name="tom";

delete  from   库名.表名;    //删除表记录,表还在

delete  from  gamedb.stuinfo;

整数类型 (只能存储整数)

使用unsigned(无符号)修饰时,对应的字段只保存正数      数值不够指定宽度时,在左边填空格补位

宽度仅是显示宽度,存数值的大小由类型决定          使用关键字zerofill时,填0代替空格补位      数值超出范围时,报错。

 

浮点型(可以存储小数)

定义格式:float(总宽度, 小数位数)   1位符号,8位指数,23位小数。

当字段值与类型不匹配时,字段值作为0处理              数值超出范围时,仅保存最大/最小值

 

字符类型

定长:char(字符数)

最大长度255字符      不够指定字符数时在右边用空格补齐          字符数断超出时,无法写入数据。

变长:varchar(字符数)

按数据实际大小分配存储空间          字符数断超出时,无法写入数据。   最大65532字符

大文本类型:text/blob

字符数大于65535存储时使用

 

日期时间类型

日期时间DATETIME    8字节   范围:1000-01-01 00:00:00.000000~ 9999-12-31 23:59:59.999999   不赋值为空

日期时间TIMESTAMP   4字节   范围:1970-01-01 00:00:00.000000~ 2038-01-19 03:14:07.999999   不赋值,自动获取当前时间

日期,DATE  4字节    范围:0001-01-01 ~ 9999-12-31           YYYYMMDD  20180614

年份,YEAR  1字节    范围:1901~2155  默认4位数表示 当只用2位数字赋值时,01~69为2000~2069,70~99为1970~1999

时间,TIME  3字节    格式:HH:MM:SS        HHMMSS    174258

时间函数:

now() 获取系统当前日期和时间,可以与其他日期函数合用,用于指定当前时间

curdate() 获取当前的系统日期               curtime() 获取当前的系统时刻

sleep(N) 休眠N秒                         day()获取指定时间中的日

year() 执行时动态获得系统日期时间          month() 获取指定时间中的月份

date() 获取指定时间中的日期                time() 获取指定时间中的时刻

 枚举类型   

enum(值1,值2,值N)   单选

set(值1,值2,值N)    多选

 数值类型、字符类型宽度的区别:

数值类型宽度  赋值受参数影响,可以超过宽度限制,设置宽度节约空间,zerofill  不够宽度前面补0,与数值类型连用

字符类型宽度  赋值不能超过宽度限制

 

posted @ 2021-06-21 13:22  落樰兂痕  阅读(41)  评论(0编辑  收藏  举报