成都网站建设四易维达,广东省广州市白云区钟落潭镇,如何百度搜到自己的网站,建筑培训内容目录 一、MySQL数据裤简介 二、MySQL数据的安装 2.1、MySQL安装 2.2、修改MySQL密码登录策略 三、数据库基础管理 3.1、连接方式及数据储存流程 3.2、库管理命令 3.3、表管理命令 3.4、记录管理命令 四、MySQL数据类型 4.1、常见信息种类 4.2、字符型 4.3、数值型 4.4、日期时间… 目录 一、MySQL数据裤简介 二、MySQL数据的安装 2.1、MySQL安装 2.2、修改MySQL密码登录策略 三、数据库基础管理 3.1、连接方式及数据储存流程 3.2、库管理命令 3.3、表管理命令 3.4、记录管理命令 四、MySQL数据类型 4.1、常见信息种类 4.2、字符型 4.3、数值型 4.4、日期时间型 4.5、枚举型 一、MySQL数据库简介 数据库服务概述 常见的数据库软件 主流操作系统 Unix、Linux、Windows 专业术语 DB (DataBase) -数据库 -依照某种数据模型进行组织并存放到存储器的数据集合 DBMS(DataBase Mangement System) 数据库管理系统用来操纵和管理数据库的服务软件 DBS(DataBase System) -数据库系统:即 DB DBMS -指带有数据库并整合了数据库管理软件的计算机系统 起源与发展 -应用最广泛的开源数据库软件 -一最早隶属于瑞典的MySQL AB公司 -2008年1月MySQL AB被Sun收购 -2009年4月SUN被Oracle收购 崭新的开源分支MariaDB -为应付MySQL可能会闭源的风险而诞生 -由MySQL原作者 Widenius主导开发-与MySQL保持最大程度兼容 -MariaDB的目的是完全兼容MySQL包括API和命令行使之能轻松成为MySQL的代替品。 特点及应用 主要特点 -适用于中小规模、关系型数据库系统 -支持Linux、Unix、Windows等多种操作系统 -支持Python、Java、Perl、PHP等编程语言 典型应用环境 -LAMP平台与Apache HTTP Server组合 -LNMP平台与Nginx组合 二、MySQL数据的安装 2.1、MySQL安装 准备环境 基本需求 1创建CentOS系统虚拟机1台 2配置IP地址192.168.4.150 3关闭firewalld 4禁用SELinux 5配置yum源 安装mysql-server 1 ) 安装MySQL 配置官网的yum源 [rootmysql ~]# rpm -ivh mysql80-community-release-el7-3.noarch.rpm #安装官方yum源
[rootmysql ~]# yum clean all
[rootmysql ~]# yum repolist
[rootmysql ~]# yum -y install mysql-server #安装MySQL服务端[rootmysql ~]# rpm -qa |grep mysql
mysql-community-client-8.0.22-1.el7.x86_64 #客户端应用程序
mysql80-community-release-el7-3.noarch #之前下载的 yum安装包
mysql-community-common-8.0.22-1.el7.x86_64 #数据库和客户端库共享文件
mysql-community-libs-8.0.22-1.el7.x86_64 #数据库客户端应用程序的共享库
mysql-community-client-plugins-8.0.22-1.el7.x86_64
mysql-community-server-8.0.22-1.el7.x86_64 #数据库服务端[rootmysql ~]# systemctl start mysqld #开启服务
[rootmysql ~]# systemctl enable mysqld #设置开机启动
[rootmysql ~]# systemctl status mysqld #查看服务状态
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since 二 2020-11-24 14:07:31 CST; 4min 21s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 2919 ExecStartPre/usr/bin/mysqld_pre_systemd (codeexited, status0/SUCCESS)Main PID: 2991 (mysqld)Status: Server is operationalCGroup: /system.slice/mysqld.service└─2991 /usr/sbin/mysqld11月 24 14:07:09 mysql systemd[1]: Starting MySQL Server...
11月 24 14:07:31 mysql systemd[1]: Started MySQL Server.[rootmysql ~]# ss -anput|grep 3306 #查看服务占用端口
tcp LISTEN 0 70 :::33060 :::* users:((mysqld,pid2991,fd32))
tcp LISTEN 0 128 :::3306 :::* users:((mysqld,pid2991,fd34))软件安装后自动创建相关目录文件 主配置文件 -/etc/my.cnf 数据库目录 -/var/lib/mysql 默认端口号: 3306 进程名 mysqld 传输协议 TCP 进程所有者 mysql 进程所属组 mysql 错误日志文件 -/var/log/mysqld.log 2 ) 初始密码登录 数据库管理员名为root 默认仅允许root本机连接首次登录密码在安装软件时随机生成随机密码存储在日志文件/var/log/mysqld.log里连接命令 ]# mysql -h数据库地址 -u用户 -p密码数据库命令输入默认不支持 Tab键命令补齐,这也进一步增加了数据管理员的难度,在日常的使用管理中,管理员一般会借助第三方的数据库管理软件 常用的数据库管理软件有: -Workbench -Navicat 2.2、修改MySQL密码登录策略 案例1: 要求:登陆数据库修改密码策略 设置简单密码 [rootmysql ~]# grep -i password /var/log/mysqld.log //查看随机密码
2020-11-24T06:07:17.500550Z 6 [Note] [MY-010454] [Server] A temporary password is generated for rootlocalhost: R-SsjKcfZ4a7
[rootmysql ~]# mysql -u root -pR-SsjKcfZ4a7 //登陆mysql
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 20
Server version: 8.0.22Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.mysql //登录成功后进入SQL操作环境
mysql show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. #提示需要修改默认密码修改root密码 -具体操作如下 -使用alter user命令修改登录密码―新密码必须满足密码策略 修改登陆密码方法如下: mysql alter user rootlocalhost identified by“密码;连接MySQL服务器时最基本的用法是通过 -u 选项指定用户名、-p指定密码。密码 可以写在命令行如果不写则出现交互要求用户输入当然基于安全考虑一般 不推荐这么做所以以下明文密码会有警告! [Warning] Using a password on the command line interface can be insecure. mysql alter user rootlocalhost identified by 123AAA...b; //修改密码
Query OK, 0 rows affected (0.03 sec)
mysql exit //退出数据库 或使用 quit
Bye[rootmysql ~]# mysql -u root -p123AAA...b
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 23
Server version: 8.0.22 MySQL Community Server - GPLCopyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.mysql 3 ) 修改密码策略 为了方便后面的演示,输入密码不用太复杂设置一个简单的密码 默认数据库是有密码复杂度要求的 临时生效 服务重启后失效 mysql set global validate_password.policy0; //只验证长度
Query OK, 0 rows affected (0.00 sec)mysql set global validate_password.length6; //修改密码长度为6位,默认为8位
Query OK, 0 rows affected (0.00 sec)mysql alter user rootlocalhost identified by 123456; //修改密码为123456
Query OK, 0 rows affected (0.04 sec)mysql exit
Bye修改配置文伯 永久性生效 [rootmysql ~]# vim /etc/my.cnf
[mysqld] //在mysqld后面添加这两行
validate_password.policy0
validate_password.length6
[rootmysql ~]# systemctl restart mysqld[rootmysql ~]# mysql -u root -p123456 //登陆MySQL
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 24
Server version: 8.0.22 MySQL Community Server - GPLCopyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.mysql show databases; //显示已有的库
--------------------
| Database |
--------------------
| information_schema |
| mysql |
| performance_schema |
| sys |
--------------------
4 rows in set (0.06 sec)
mysql 三、数据库基础管理 3.1、连接方式及数据储存流程 客户端连接MySQL服务的方法 1.命令行 2.web页面 3.安装图形软件 4.编写脚本 php、Java、python.....) -使用 mysql 命令登录 mysql -h服务器IP -u用户名 -p密码「数据库名] -quit或exit退出 数据存储流程 客户端把数据存储到数据库服务器上的步骤 1.连接数据库服务器 2.建库 //类似于文件夹 3.建表 //类似于文件 4.插入记录 //类似于文件内容 5.断开连接 SQL命令使用规则 SQL命令不区分字母大小写密码、变量值除外)每条SQL命令以 ; 结束默认命令不支持Tab键自动补齐\c 终止sql命令 MySQL管理环境续1) 常用的SQL命令分类 管理数据库使用SQL结构化查询语言) 1.DDL数据定义语言 如:create、alter、drop 2.DML数据操作语言 如:insert、update、delete 3.DCL数据控制语言 如:grant、revoke 4.DTL数据事物语言 如:commit、rollback、savepoint 3.2、库管理命令 库管理命令 库类似于文件夹用来存储表可以创建多个库通过库名区分show databases; #显示已有的库select user( ); #显示连接用户use 库名; #切换库select database( ); #显示当前所在的库create database 库名; #创建新库show tables; #显示已有的表drop database 库名; #删除库 库管理命令续1) 库名命名规则 仅可以使用数字、字母、下划线、不能纯数字区分字母大小写具有唯一性不可使用指令关键字、特殊字符 mysql create database DB1;
Query OK, 1 row affected (0.03 sec)mysql CREATE DATABASE db1;
Query OK, 1 row affected (0.04 sec)3.3、表管理命令 ·建表 -表存储数据的文件。 Mysql create table 库名.表名( 字段名1 类型(宽度), 字段名2 类型(宽度), ...... )DEFAULT CHARSETutf8; #指定中文字符集可以给字段赋值中文 mysql create table db1.stuinfo( name char(15), homeaddr char(20) 表管理命令续1) 表类似于文件,desc库名.表名; #查看表结构drop table库名.表名; #删除表 3.4、记录管理命令 记录类似于文件里的行select * from库名.表名; #查看表记录insert into库名.表名 values(值列表); #插入表记录update 库名.表名 set字段值; #修改表记录delete from表名; #删除表记录 mysq insert into db1.stuinfo values(jim ; usa),(lilei , china);
mysql select * from db1.stuinfo;
Mysql update db1.stuinfo set homeaddr beijing ;案例2∶数据库基本管理 1.使用mysql命令连接数据库 新建如下表格 2.练习库管理命令(查看、删除、创建库、切换 3.练习表管理命令(查看、删除、创建表) 4.练习记录管理命令(插入、查看、修改、删除) 1 ) 使用mysql命令连接数据库,练习查看现在的库 [rootmysql ~]# mysql -u root -p123456
mysql show databases;
--------------------
| Database |
--------------------
| DB1 |
| db1 |
| information_schema | //信息概要库
| mysql | //授权库
| performance_schema | //性能结构库
| sys | //系统元数据库
--------------------
6 rows in set (0.06 sec)2切换/使用指定的库 mysql use sys; //切换到sys库
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql select database(); //确认当前所在的库
------------
| database() |
------------
| sys |
------------
1 row in set (0.00 sec)mysql use mysql; //切换到mysql库
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql select database(); //确认当前所在的库
------------
| database() |
------------
| mysql |
------------
1 row in set (0.00 sec)3新建名为newdb的库确认结果 mysql create database newdb; //新建名为newdb的库
Query OK, 1 row affected (0.03 sec)mysql show databases;
--------------------
| Database |
--------------------
| DB1 |
| db1 |
| information_schema |
| mysql |
| newdb | //新建的newdb库
| performance_schema |
| sys |
--------------------
7 rows in set (0.01 sec)4删除指定的库 mysql drop database newdb; //删除名为newdb的库
Query OK, 0 rows affected (0.02 sec)mysql show databases; //确认删除结果已无newdb库
--------------------
| Database |
--------------------
| DB1 |
| db1 |
| information_schema |
| mysql |
| performance_schema |
| sys |
--------------------
6 rows in set (0.00 sec)5查看指定的库里有哪些表 mysql use mysql
Database changed
mysql use mysql;
Database changed
mysql show tables;
----------------------------------------------
| Tables_in_mysql |
----------------------------------------------
| columns_priv |
| component |
| db |
| default_roles |
| engine_cost |
| func |
| general_log |
| global_grants |
| gtid_executed |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| innodb_index_stats |
| innodb_table_stats |
| password_history |
| plugin |
| procs_priv |
| proxies_priv |
| replication_asynchronous_connection_failover |
| role_edges |
| server_cost |
| servers |
| slave_master_info |
| slave_relay_log_info |
| slave_worker_info |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user | //存放数据库用户的表
----------------------------------------------
34 rows in set (0.00 sec)6查看指定表的字段结构 当前库为mysql查看columns_priv表的结构以列表形式展现 mysql desc columns_priv\G
*************************** 1. row ***************************Field: HostType: char(255)Null: NOKey: PRI
Default: Extra:
*************************** 2. row ***************************Field: DbType: char(64)Null: NOKey: PRI
Default: Extra:
*************************** 3. row ***************************Field: UserType: char(32)Null: NOKey: PRI
Default: Extra:
*************************** 4. row ***************************Field: Table_nameType: char(64)Null: NOKey: PRI
Default: Extra:
*************************** 5. row ***************************Field: Column_nameType: char(64)Null: NOKey: PRI
Default: Extra:
*************************** 6. row ***************************Field: TimestampType: timestampNull: NOKey:
Default: CURRENT_TIMESTAMPExtra: DEFAULT_GENERATED on update CURRENT_TIMESTAMP
*************************** 7. row ***************************Field: Column_privType: set(Select,Insert,Update,References)Null: NOKey:
Default: Extra:
7 rows in set (0.00 sec)查看columns_priv表的结构以表格形式展现 mysql desc columns_priv; //查看表结构以表格形式展现末尾需要有分号
----------------------------------------------------------------------------------------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
----------------------------------------------------------------------------------------------------------------------------------------
| Host | char(255) | NO | PRI | | |
| Db | char(64) | NO | PRI | | |
| User | char(32) | NO | PRI | | |
| Table_name | char(64) | NO | PRI | | |
| Column_name | char(64) | NO | PRI | | |
| Timestamp | timestamp | NO | | CURRENT_TIMESTAMP | DEFAULT_GENERATED on update CURRENT_TIMESTAMP |
| Column_priv | set(Select,Insert,Update,References) | NO | | | |
----------------------------------------------------------------------------------------------------------------------------------------
7 rows in set (0.00 sec)上述操作中当引用非当前库中的表时可以用“库名.表名”的形式。比如切换 为mysql库再执行“desc columns_priv;”与以下操作的效果是相同的 mysql desc mysql.columns_priv;
----------------------------------------------------------------------------------------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
----------------------------------------------------------------------------------------------------------------------------------------
| Host | char(255) | NO | PRI | | |
| Db | char(64) | NO | PRI | | |
| User | char(32) | NO | PRI | | |
| Table_name | char(64) | NO | PRI | | |
| Column_name | char(64) | NO | PRI | | |
| Timestamp | timestamp | NO | | CURRENT_TIMESTAMP | DEFAULT_GENERATED on update CURRENT_TIMESTAMP |
| Column_priv | set(Select,Insert,Update,References) | NO | | | |
----------------------------------------------------------------------------------------------------------------------------------------
7 rows in set (0.00 sec)在mydb库中创建一个名为pwlist的表 mysql create database mydb;
Query OK, 1 row affected (0.28 sec)mysql use mydb
Database changedmysql create table pwlist( - name char(16) not null,- password char(48)default,- primary key(name)- );
Query OK, 0 rows affected (0.39 sec)mysql show tables; //查看新建的表单
----------------
| Tables_in_mydb |
----------------
| pwlist |
----------------
1 row in set (0.01 sec)mysql desc pwlist; //查看pwlist表的字段结构
-----------------------------------------------
| Field | Type | Null | Key | Default | Extra |
-----------------------------------------------
| name | char(16) | NO | PRI | NULL | |
| password | char(48) | YES | | | |
-----------------------------------------------
2 rows in set (0.00 sec)mysql drop table pwlist; //删除当前库中的pwlist表
Query OK, 0 rows affected (0.11 sec)案例3 在mydb库中创建一个学员表 在MySQL表内存储中文数据时需要更改字符集默认为latin1不支持中文以便 MySQL支持存储中文数据记录比如可以在创建库或表的时候手动添加“DEFAULT CHARSETutf8”来更改字符集。 根据上述表格结构创建支持中文的student表 mysql create table mydb.student( - 学号 char(9) NOT NULL,- 姓名 varchar(4) NOT NULL,- 性别 enum(男,女) NOT NULL,- 手机号 char(11) DEFAULT,- 通信地址 varchar(64),- PRIMARY KEY(学号)- )DEFAULT CHARSETutf8; //手工指定字符集采用utf8
Query OK, 0 rows affected, 1 warning (0.04 sec)mysql DESC mydb.student; //查看student表的字段结构
------------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
------------------------------------------------------------
| 学号 | char(9) | NO | PRI | NULL | |
| 姓名 | varchar(4) | NO | | NULL | |
| 性别 | enum(男,女) | NO | | NULL | |
| 手机号 | char(11) | YES | | | |
| 通信地址 | varchar(64) | YES | | NULL | |
------------------------------------------------------------
5 rows in set (0.00 sec)mysql show create table mydb.student; //查看student表的实际创建指令
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| Table | Create Table |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| student | CREATE TABLE student (学号 char(9) NOT NULL,姓名 varchar(4) NOT NULL,性别 enum(男,女) NOT NULL,手机号 char(11) DEFAULT ,通信地址 varchar(64) DEFAULT NULL,PRIMARY KEY (学号)
) ENGINEInnoDB DEFAULT CHARSETutf8 |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 row in set (0.00 sec)
mysql exit注意若要修改MySQL服务的默认字符集可以更改服务器的my.cnf配置文件添加 character_set_serverutf8 配置然后重启数据库服务。 [rootmysql ~]# cat /etc/my.cnf
[mysqld]
......
character_set_serverutf8 //添加默认字符集[rootmysql ~]# systemctl restart mysqld //重启服务
[rootmysql ~]# mysql -u root -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.22 MySQL Community Server - GPLCopyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.mysql show variables like character%;
----------------------------------------------------------
| Variable_name | Value |
----------------------------------------------------------
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8 | //修改成功
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
----------------------------------------------------------
8 rows in set (0.01 sec)四、MySQL数据类型 4.1、常见信息种类 数值型∶体重、身高、成绩、工资字符型:姓名、工作单位、通信住址枚举型:兴趣爱好、性别、专业日期时间型:出生日期、注册时间 4.2、字符型 定长char 定长:char(字符个数)最大字符个数255不够指定字符个数时在右边用空格补全字符个数超出时无法写入数据。 mysql create table db1.t1(- name char(5),- homedir char(50)- );
Query OK, 0 rows affected (0.42 sec)
mysql insert into db1.t1 values(bob,USA);变长varchar 变长: varchar(字符个数)按数据实际大小分配存储空间字符个数超出时无法写入数据。·大文本类型: text/blob字符数大于65535存储时使用 mysql create table db1.t7(- name char(5),- email varchar(30)- );
Query OK, 0 rows affected (0.44 sec)
mysql insert into db1.t7 values(lucy,luck163.com);案例4: 按照如下结构建表: mysql desc db1.t3;
-------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
-------------------------------------------------
| name | char(5) | YES | | NULL | |
| mail | varchar(10) | YES | | NULL | |
| homedie | varchar(50) | YES | | NULL | |
-------------------------------------------------1新建db1库并切换到db1库 mysql create database db1;
Query OK, 1 row affected (0.02 sec)mysql use db1;
Database changed2新建t3表 mysql create table db1.t3(- name char(5),- mail varchar(10),- homedie varchar(50)- );
Query OK, 0 rows affected (0.11 sec)查看a3表结构 mysql desc db1.t3;
-------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
-------------------------------------------------
| name | char(5) | YES | | NULL | |
| mail | varchar(10) | YES | | NULL | |
| homedie | varchar(50) | YES | | NULL | |
-------------------------------------------------
3 rows in set (0.00 sec)4.3、数值型 整数型 只能存储整数 浮点型·浮点型 -格式1∶字段名类型; -格式2∶字段名类型(总宽度,小数位数) 案例5 要求:按照 下图所示建表 mysql desc db1.t2;
------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
------------------------------------------------
| stu_num | int | YES | | NULL | |
| name | char(5) | YES | | NULL | |
| age | tinyint | YES | | NULL | |
| pay | float | YES | | NULL | |
| money | float(5,2) | YES | | NULL | |
------------------------------------------------1创建t2表 mysql use db1;
Database changed
mysql create table db1.t2(- stu_num int,- name char(5),- age tinyint,- pay float,- money float(5,2)- );
Query OK, 0 rows affected, 1 warning (0.07 sec)查看t2表结构 mysql desc db1.t2;
------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
------------------------------------------------
| stu_num | int | YES | | NULL | |
| name | char(5) | YES | | NULL | |
| age | tinyint | YES | | NULL | |
| pay | float | YES | | NULL | |
| money | float(5,2) | YES | | NULL | |
------------------------------------------------
5 rows in set (0.00 sec)4.4、日期时间型 类型 日期时间 datetime 范围:1000-01-01 00:00:00 ~ 9999-12-31 23:59:59格式:yyyymmddhhmmss 日期时间 timestamp 范围:1970-01-01 00:00:00 ~ 2038-01-19 00:00:00格式:yyyymmddhhmmss 类型续1) 日期date -范围:0001-01-01 ~ 9999-12-31 -格式:yyyymmdd 年year -范围:1901~2155 -格式:yyyy 时间time -格式:HH:MM:SS 类型(续2) 关于日期时间字段 -当未给timestamp字段赋值时自动以当前系统时间赋值而datetime值为NULL(空) year类型 -要求使用4位数赋值 -当使用2位数赋值时: 01~69视为 2001~20697099视为19701999 时间函数 · MySQL服务内置命令 一可以使用时间函数给字段赋值 案例6: 要求: 练习如下时间函数的使用 now( ) year( ) month( ) day( ) date( ) time( ) curtime( ) curdate( ) 按照如下图所示建表 mysql desc db1.t4;
-------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
-------------------------------------------------
| name | char(10) | YES | | NULL | |
| your_start | year | YES | | NULL | |
| up_time | time | YES | | NULL | |
| birthday | date | YES | | NULL | |
| party | datetime | YES | | NULL | |
-------------------------------------------------1练习如下命令的使用 now( ) year( ) month( ) day( ) date( ) time( ) mysql select now(); //使用now()查看当前的日期和时间
---------------------
| now() |
---------------------
| 2020-11-25 15:18:08 |
---------------------
1 row in set (0.00 sec)mysql select curdate(); //使用curdate()获得当前的日期
------------
| curdate() |
------------
| 2020-11-25 |
------------
1 row in set (0.00 sec)mysql select curtime(); //使用curtime()获得当前的时间
-----------
| curtime() |
-----------
| 15:18:41 |
-----------
1 row in set (0.00 sec)mysql select year(now()),month(now()),day(now()); //分别获取当前日期时间中的年份、月份、日
---------------------------------------
| year(now()) | month(now()) | day(now()) |
---------------------------------------
| 2020 | 11 | 25 |
---------------------------------------
1 row in set (0.00 sec)mysql select date(now()) ; //获取系统日期
-------------
| date(now()) |
-------------
| 2020-11-25 |
-------------
1 row in set (0.00 sec)mysql select date(now());
-------------
| date(now()) |
-------------
| 2020-11-25 |
-------------
1 row in set (0.01 sec)2创建t4表 建表 mysql create table db1.t4(- name char(10),- your_start year,- up_time time,- birthday date,- party datetime- );
Query OK, 0 rows affected (0.05 sec)mysql desc db1.t4; //查看表结构
-------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
-------------------------------------------------
| name | char(10) | YES | | NULL | |
| your_start | year | YES | | NULL | |
| up_time | time | YES | | NULL | |
| birthday | date | YES | | NULL | |
| party | datetime | YES | | NULL | |
-------------------------------------------------
5 rows in set (0.01 sec)mysql insert into db1.t4 values(bob,1990,083000,20191120,20190828200000); //插入记录
Query OK, 1 row affected (0.29 sec)mysql insert into db1.t4 values(tom,1991,090000,20191120,now());
Query OK, 1 row affected (0.26 sec)mysql select * from db1.t4; //查看表所有列名的集合
-------------------------------------------------------------
| name | your_start | up_time | birthday | party |
-------------------------------------------------------------
| bob | 1990 | 08:30:00 | 2019-11-20 | 2019-08-28 20:00:00 |
| tom | 1991 | 09:00:00 | 2019-11-20 | 2020-11-25 15:37:26 |
-------------------------------------------------------------
2 rows in set (0.00 sec)mysql select name from db1.t4; //查看表name列记录
------
| name |
------
| bob |
| tom |
------
2 rows in set (0.00 sec)mysql 4.5、枚举型 enum enum单选︰格式∶字段名enum(值1值2,值N)仅能选择一个值字段值必须在列表里选择 set 多选: -格式:字段名set(值1,值2,值N) -选择一个或多个值 -字段值必须在列表里选择 案例7: 要示 按照如下图所示建表 mysql desc db1.t5;
--------------------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
--------------------------------------------------------------------
| name | char(5) | YES | | NULL | |
| likes | set(eat,game,film,music) | YES | | NULL | |
| sex | enum(boy,girl,no) | YES | | NULL | |
--------------------------------------------------------------------1创建t5表 mysql create table db1.t5(- name char(5),- likes set(eat,game,film,music),- sex enum(boy,girl,no)- );
Query OK, 0 rows affected (0.30 sec)2查看表结构 mysql desc db1.t5;
--------------------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
--------------------------------------------------------------------
| name | char(5) | YES | | NULL | |
| likes | set(eat,game,film,music) | YES | | NULL | |
| sex | enum(boy,girl,no) | YES | | NULL | |
--------------------------------------------------------------------
3 rows in set (0.00 sec)3插入表记录 mysql insert into db1.t5 values(bob,eat,film,game,boy);
Query OK, 1 row affected (0.02 sec)mysql select * from db1.t5;
---------------------------
| name | likes | sex |
---------------------------
| bob | eat,game,film | boy |
---------------------------
1 row in set (0.00 sec)最后编辑于2024-10-27 16:14:22 © 著作权归作者所有,转载或内容合作请联系作者 喜欢的朋友记得点赞、收藏、关注哦