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;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章