MySql数据库的学习(基础篇一)
概述
在日常开发中,最终的操作就是对数据的增删改查(CRUD),这就会用到底层的SQL操作语句,今天就来学习一波。
学习
1、登录/退出
命令 | 作用 |
---|---|
-u | 代表user,用户名 |
-p | 代表password,密码 |
-V | 代表version,版本信息 |
-h | 代表host,服务器名称 |
-P | 代表port,端口号 |
如:mysql -V 查看版本信息
C:\Users\Auser>mysql -V
mysql Ver 14.14 Distrib 5.6.12, for Win64 (x86_64)
mysql -uroot -p -P3306 -h127.0.0.1 登录
C:\Users\Auser>mysql -uroot -p -P3306 -h127.0.0.1
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.6.12-log MySQL Community Server (GPL)
Copyright (c) 2000, 2013, 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>
退出 | exit; | quit; | \q; |
---|
如 : exit;
mysql> exit;
Bye
2、数据库的操作命令
新建数据库
语法为: CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name
如: create database db_name character set utf8;
mysql> create database studysql character set utf8;
Query OK, 1 row affected (0.00 sec)
查看数据库属性
新建完成之后,我们去查看下这个数据库的属性信息
如: show create database db_name;
mysql> show create database studysql;
+----------+-------------------------------------------------------------------+
| Database | Create Database |
+----------+-------------------------------------------------------------------+
| studysql | CREATE DATABASE `studysql` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-------------------------------------------------------------------+
1 row in set (0.00 sec)
可以看出默认的编码方式为utf8了
查看当前服务器所有数据库的列表
这里我们再学一个查看当前服务器下所有的数据库列表
如:show databases;
mysql> show databases;
+------------------------+
| Database |
+------------------------+
| information_schema |
| bookinfo |
| bookshop |
| courseselecttionsystem |
| db1 |
| departmentsystem |
| filedownandload |
| goods |
| jdbc |
| lvhao |
| mydb |
| myschool |
| mysql |
| mywork |
| myxmpp |
| performance_schema |
| school |
| sharedown |
| sqltest |
| students |
| studysql |
| t2 |
| test |
| users |
| xmpp |
+------------------------+
25 rows in set (0.02 sec)
修改数据库属性
如: alter database db_name character set charset_name;
mysql> alter database studysql character set gbk;
Query OK, 1 row affected (0.00 sec)
mysql> show create database studysql;
+----------+------------------------------------------------------------------+
| Database | Create Database |
+----------+------------------------------------------------------------------+
| studysql | CREATE DATABASE `studysql` /*!40100 DEFAULT CHARACTER SET gbk */ |
+----------+------------------------------------------------------------------+
1 row in set (0.00 sec)
可以看出,此时数据库的编码方式改为gbk了。我们再将它修改回来。
删除数据库
如: drop database [if exists] db_name;
mysql> drop database studysql;
Query OK, 0 rows affected (0.03 sec)
mysql> drop database studysql;
ERROR 1008 (HY000): Can't drop database 'studysql'; database doesn't exist
mysql> drop database if exists studysql;
Query OK, 0 rows affected, 1 warning (0.00 sec)
数据类型
分为整型、浮点型、日期时间型、字符型
整型
数据类型 | 存储范围 |
---|---|
tinyint | 有符号值:-128~127 无符号值:0~255 |
smallint | 有符号值:-32768~32767 无符号值:0~65535 |
mediumint | 有符号值:-8388608~8388607 无符号值:0~16777215 |
int | 有符号值:-2147483648~2147483647 无符号值:0~4294967295 |
bigint | 有符号值:-263~263-1 无符号值:0~2^64-1 |
浮点型
数据类型 | 存储范围 |
---|---|
float[(M,D)] | M是数字总位数,D是小数点后面的位数,允许精确到小数点后七位 |
double[(M,D)] | M是数字总位数,D是小数点后面的位数 |
日期时间型
列类型 | 存储需求 |
---|---|
year | 1 |
time | 3 |
date | 3 |
datetime | 8 |
timestamp | 4 |
字符型
列类型 | 存储需求 |
---|---|
char(M) | M个字节,0<=M<=255 |
varchar(M) | L+1个字节,其中,L<=M且0<=M<=65535 |
tinytext | L+1个字节,其中L < 2^8 |
text | L+2个字节,其中L < 2^16 |
mediumtext | L+3个字节,其中L < 2^24 |
longtext | L+4个字节,其中L < 2^32 |
enum(‘value1’,‘value2’,…) | 1或两个字节,取决于枚举值的个数(最多65535个值) |
set(‘value1’,‘value2’,…) 1、2、3、4或者8个字节,取决于set成员的数目(最多64个成员)
数据表
数据表才是存储数据的地方
打开某个数据库
如: use db_name;
mysql> use myschool;
Database changed
查看当前打开的数据库
如: select database();
mysql> select database();
+------------+
| database() |
+------------+
| myschool |
+------------+
1 row in set (0.00 sec)
然后,我们便在打开的这个数据库开始对数据表进行操作
新建数据表
语法为:
CREATE TABLE [IF NOT EXISTS] table_name (
column_name(列名称) data_type(类型),
.....
)
如:
mysql> create table tab1(
-> username varchar(20),
-> age tinyint unsigned,
-> salary float(8,2) unsigned
-> );
Query OK, 0 rows affected (0.00 sec)
查看数据表结构
如:
mysql> show columns from tab1;
+----------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------+------+-----+---------+-------+
| username | varchar(20) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
| salary | float(8,2) unsigned | YES | | NULL | |
+----------+---------------------+------+-----+---------+-------+
3 rows in set (0.02 sec)
查看当前数据库下所有的表列表
如:
mysql> show tables;
+--------------------+
| Tables_in_myschool |
+--------------------+
| students |
| tab1 |
+--------------------+
2 rows in set (0.00 sec)
表建好了,接下来我们就需要把数据存储起来了。
插入数据
如:
mysql> insert into tab1 values('Lucy',22,32000.50);
Query OK, 1 row affected (0.00 sec)
查看数据记录
如:
mysql> select * from tab1;
+----------+------+----------+
| username | age | salary |
+----------+------+----------+
| Lucy | 22 | 32000.50 |
+----------+------+----------+
1 row in set (0.00 sec)
修改数据
如:
mysql> update tab1 set age = 21 , salary = 40000.00 where username = 'Lucy';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from tab1;
+----------+------+----------+
| username | age | salary |
+----------+------+----------+
| Lucy | 21 | 40000.00 |
+----------+------+----------+
1 row in set (0.00 sec)
删除数据
如:
mysql> delete from tab1 where username = 'Lucy';
Query OK, 1 row affected (0.00 sec)
基础一到此,转到基础二
欢迎大家关注我的公众号
上一篇: Windows 10 安装 ElasticSearch
下一篇: 简约-随笔