MySQL数据库02 基本语法

mysql 基础

概念

Database

长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库

保存、管理数据

分类

关系型

  • mysql 处理数据的阀值
  • oracle
  • sqlServer (微软)
  • DB2 (IBM 公司 )
  • SQLite

非关系型

Redis、MongoDB

安装配置mysql

配置path

path 是环境变量
windows 运行一些内容 是通过path 来运行的

在没有配置环境变量之前

C:\Users\Administrator>mysql
'mysql' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

配置mysql 的环境变量

在这里插入图片描述
好处 可以在任意目录中 登录 mysql

mysql 登录

mysql -h服务器主机地址 -u 用户名 -p密码
mysql -h 127.0.0.1 -uroot -p123456
简写
mysql -u用户名 -p

配置环境变量

打开 Win + R 输入 cmd

进入到mysql 的 安装目录

在这里插入图片描述

在命令行中输入以下命令

cd C:\Program Files\MySQL\MySQL Server 5.7\bin

执行登录命令

// 执行 mysql 命令 携带参数 -u用户名 -p密码
mysql -uroot -p

在输入密码之后显示界面如下

Enter password: ******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 5.7.19-log MySQL Community Server (GPL)

Copyright (c) 2000, 2017, 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.

退出命令

exit;

sql语句

mysql oracle 以及其他各种数据库 相类似的

标准的 , 命令式 语句

分类

名称解释命令
DDL
数据定义语言
定义和管理数据对象
如数据库. 数据表等(数据容器)
create drop alter
DML
数据操作语言
用于操作数据库对象
所包含的数据
insert update delete
DQL
数据查询语言
用于查询数据库数据select
DCL
数据控制语言
用来管理数据库中的语言
包括管理权限以及数据更改
grant revoke

数据库操作

mysql -h 127.0.0.1 -uroot -p123456

查看当前mysql中有哪些数据库

show databases;

新建数据库

create database phonenum;
#Query OK, 1 row affected (0.00 sec)

使用(进入)数据库

use phonenum  
# Database changed

(切换)更改进入数据库

use mysql

查询当前数据库中的所有表

show tables;

查询表中的数据

select * from user;

删除数据库

drop database [if exists] 数据库名;

创建表格式

创建表

use phonenum
# 表格 是有表头的
create table phones(
	name varchar(50) ,
	phoneno varchar(11)
);

删除表

drop table [if esists] 表名;
drop table phones;  
# 表不存在 ERROR 1051 (42S02): Unknown table 'phones'
drop table if exists phones;
# Query OK, 0 rows affected, 1 warning (0.00 sec)

表格的格式

CREATE  TABLE [ IF NOT EXISTS ] `表名` ( # 反引号 (可选、区别于单引号)
        `字段名1`   列类型 [ 属性 ]  [ 索引 ] [注释] ,
        `字段名2`   列类型 [ 属性 ]  [ 索引 ] [注释] , 
         … …    
         `字段名n`   列类型 [ 属性 ]  [ 索引 ] [注释] 
)  [  表类型 ] [ 表字符集 ] [注释] ;

数据类型

  • 数值类型
  • 字符串
  • 日期
  • null

char 和 varchar 的区别

char 是固定长度的字符串

name char(100) 给name分配 100长度的空间,如果name占用不足100 使用空格填充

varchar 可变长度的字符串 (节约空间 , 使用率更高)

name varchar(100) 给name分配 100长度的空间,如果name占用不足100 自动缩小内存占用

null 值

意义 : 没有值
不要使用null 来进行算术运算, null 和 任何值做运算, 结果都为null

数据字段属性

  • UNSIGNED 无符号的 声明该数据列不允许负数

  • ZEROFILL 0填充的 不足位数的用0来填充,如 int(3) , 5则为 005

  • AUTO_INCREMENT

    自动增长的,每添加一条数据,自动在上一个记录数上加1

    通常用于设置主键,且为整数类型

    可定义起始值和步长

  • NULL 和 NOT NULL 默认为NULL,即没有插入该列的数值

    如果设置为NOT NULL,则该列必须有值

  • DEFAULT 用于设置默认值

数据字段注释

语法 字段属性/ 表右括号之后 添加  COMMENT '注释信息'
CREATE   TABLE [ IF NOT EXISTS ]    `test`   (
      `id`   int (11)  UNSIGNED  COMMENT   ‘编码号’
) COMMENT=‘测试表’;

案例

在这里插入图片描述

表的类型设置

表的字符集设置

charset = utf-8;

修改数据库表

查看表结构

desc 表名

修改表名

alter teble 旧表名 rename as 新表名
alter table phones rename as phonenums;

添加新字段

alter table 表名 add 字段名 字段类型 [属性]
alter table phonenums add address varchar(255) default '青岛';

修改字段类型,属性

alter table 表名 modify 字段 新的类型[属性] 
alter table phonenums modify address varchar(255) default '济南';

修改字段名称

alter table 表名 change 旧字段名 新字段名 新字段名的类型[属性] 
alter table phonenums change address addr varchar(255) default '济南';

删除字段

alter table 表名 drop 字段名
alter table phonenums drop addr;

DML 数据操作语言

案例

create database if not exists school ;
use school 
create table student(
	sid int(5) not null COMMENT '学生编号',
	sname varchar(50) not null COMMENT '学生姓名',
	saddr varchar(255) default '青岛' COMMENT '学生地址'
);

新增数据

给所有值新增数据

insert into 表名 values (按照表的所有字段顺序,依次插入值);
insert into student values (10086,'毕吉伦','青岛崂山');
# Query OK, 1 row affected (0.01 sec)

给指定值新增数据

insert into 表名 (字段1,字段2) values (值1, 值2);
insert into student (sid,sname) values (10010, '孙继斌');

一条语句添加多行数据

insert into 表名 (字段1,字段2) values (值1, 值2),(值1, 值2),(值1, 值2);
insert into student (sid,sname) values (12306, '宫骏腾'),(12315, '周书建');

查询命令

select * from 表名;
select * from student;

授权其他用户访问该数据库

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION; 
flush privileges;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值