MySql数据库

下载地址
https://dev.mysql.com/downloads/mysql/5.1.html#downloads

连接到本机上的MYSQL
mysql -u root -p

  1. 创建数据库
    命令:create database ;
    create database Myschool;

  2. 查看数据库
    命令:show databases;

  3. 创建表
    ERROR 1046 (3D000): No database selected //未选中数据库
    Database changed
    mysql> use Myschool;
    Database changed
    mysql> create table subject
    -> (SubjectNo int primary key,
    -> SubjectName varchar(50),
    -> ClassHour int,
    -> GreadID int);

  4. 查看所有表;
    mysql> show tables;

  5. 查看创建表结构
    mysql> show create table Subject;

  6. 删除数据库
    命令:drop database
    例如:删除名为 xhkdb的数据库
    mysql> drop database Myschool;

数据类型:
varchar(5)-->变长;
char(5)-->定长;
Can't connect to MySQL server on localhost \没有启动MySQL服务

创建Student表格
mysql> create table Student
(StudentNo int(4) not null comment'学号',
LoginPwd varchar(20),
StudentName varchar(20) comment'学生姓名',
Sex tinyint(1) comment'性别,取值0或者1',
GradeID int(11) comment '年级编号',
Phone varchar(50) not null comment '联系电话允许为空',
Adress varchar(255) not null comment '地址允许为空',
BornDate datetime comment '出生时间',
Email varchar(50) comment '邮箱账号允许为空',
IdentityCard varchar(18) comment '身份证号码');

SHOW ENGINES

显示存储引擎的状态信息。对于检查一个存储引擎是否被支持,或者对于查看默认引擎是什么,本语句十分有用。
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
MyISAM :节约空间及相应速度
InnoDB:安全性,事务处理及多用户操作数据表

mysql> show variables like 'datadir';
+---------------+---------------------------------------------+
| Variable_name | Value |
+---------------+---------------------------------------------+
| datadir | C:\ProgramData\MySQL\MySQL Server 5.7\Data |
+---------------+---------------------------------------------+

修改表结构:

  1. 添加字段
    mysql> alter table Student add CollegeMajor varchar(50);
    语法:ALTER TABLE table_name ADD field_name field_type;

  2. 查看表结构:
    语法:desc tabl_name;
    mysql> describe Student;
    或: mysql> desc Student;
    +--------------+--------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +--------------+--------------+------+-----+---------+-------+
    | StudentNo | int(4) | NO | | NULL | |
    | LoginPwd | varchar(20) | YES | | NULL | |
    | StudentName | varchar(20) | YES | | NULL | |
    | Sex | tinyint(1) | YES | | NULL | |
    | GradeID | int(11) | YES | | NULL | |
    | Phone | varchar(50) | NO | | NULL | |
    | Adress | varchar(255) | NO | | NULL | |
    | BornDate | datetime | YES | | NULL | |
    | Email | varchar(50) | YES | | NULL | |
    | IdentityCard | varchar(18) | YES | | NULL | |
    | CollegeMajor | varchar(50) | YES | | NULL | |
    +--------------+--------------+------+-----+---------+-------+

  3. 修改表名;
    mysql> alter table t_test rename tbl_test;

  4. 修改列名;
    mysql> alter table Student change CollegeMajor2 Interest varchar(255);

  5. 修改列属性;
    mysql> alter table Student Modify Adress char(255);

  6. 删除列;
    mysql> alter table Student drop is_deleted;

  7. 删除表;
    mysql> drop table t_test;

    MySQL数据库管理

    DML:数据操作语言,用于操作数据库对象包含的数据
    包括:

    • INSERT ;
    • UPDATE ;
    • DELETE ;

      DML

      insert

    1. mysql> insert into Grade(GradeId,GradeName) value(1,'大一');
    2. mysql> insert into Grade value(2,'大二');
    3. mysql> insert into Grade value(3,'大三'),(4,'大四');
    4. mysql> insert into Grade(GradeName)
      -> select GradeName from Grade ;

    5. 修改字段为自动增长
      mysql> alter table Grade modify GradeID int auto_increment;

    6. 修改表编码
      mysql> alter table Grade charset=utf8;

    base 查询:
    mysql> select * from Grade;
    +---------+-----------+
    | GradeID | GradeName |
    +---------+-----------+
    | 1 | 大一 |
    +---------+-----------+

update

mysql> update Grade set GradeName ='二年级' where GradeID=2;

mysql> update Grade set GradeName = '二二级' where GradeID =6 or GradeID = 13;

mysql> insert into Subject(SubjectName,ClassHour,GreadID) value ('高等数学-1',120,1),('高等数学-2',110,2),('高等数学-3',100,3),('高等数学-4',130,4);

mysql> update subject set ClassHour = ClassHour-10 where classhour >110 and GreadID =1;

mysql> select * from subject;
+-----------+-------------+-----------+---------+
| SubjectNo | SubjectName | ClassHour | GreadID |
+-----------+-------------+-----------+---------+
| 1 | 高等数学-1 | 110 | 1 |
| 2 | 高等数学-2 | 110 | 2 |
| 3 | 高等数学-1 | 110 | 1 |
| 4 | 高等数学-2 | 110 | 2 |
| 5 | 高等数学-3 | 100 | 3 |
| 6 | 高等数学-4 | 130 | 4 |
+-----------+-------------+-----------+---------+

ERROR 1093 (HY000): You can't specify target table 'subject' for update in FROM clause

select ClassHour from subject where SubjectNo = 6

update subject set ClassHour =
(select ClassHour from
(select ClassHour from subject
where subjectNO =6) as ch ) //as ch 作为临时表
where SubjectNo =1;

MySql数据库学习笔记(1)的更多相关文章

  1. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  2. MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  3. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  4. Mysql数据库学习笔记之数据库索引(index)

    什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...

  5. MYSQL数据库学习笔记1

      MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...

  6. MySQL数据库学习笔记<一>

    MySQL基本概念以及简单操作   一.MySQL   MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系 ...

  7. MySQL数据库学习笔记(四)----MySQL聚合函数、控制流程函数(含navicat软件的介绍)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  8. MySQL数据库学习笔记(三)----基本的SQL语句

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  9. mysql 数据库学习笔记一

    一.navicat的引入: (第三方可视化的客户端,方便MySQL数据库的管理和维护)安装网址:https://www.navicat.com.cn/ NavicatTM是一套快速.可靠并价格相宜的数 ...

随机推荐

  1. A1138. Postorder Traversal

    Suppose that all the keys in a binary tree are distinct positive integers. Given the preorder and in ...

  2. Android studio自带的sample例子

    1. 直接查看Github上面的Sample Sample in GitHub:  点击打开链接 2. FQ下载(个人倾向于下载) 需要FQ工具 goagent goagent在windows下的安装 ...

  3. lucene的普通搜索(二)

    首先得到索引: package com.wp.util; import java.io.File; import java.io.FileReader; import java.nio.file.Pa ...

  4. css3: 基本知识记录

    1.transition过渡: 元素从一种样式到另一种样式添加效果: div { transition: width 2s, height 2s, transform 2s; -moz-transit ...

  5. Mac 软件专题:高效率工作和学习工具软件推荐

    今天和大家分享软件专题:「高效率工作和学习工具」,简而言之就是提高你工作和学习效率的软件,这对于要天天使用Mac工作或学习的人来说太有帮助了,这里主要分享大家平时经常用的一些,欢迎留言补充. 本文图片 ...

  6. bzoj1009 KMP+矩阵dp

    https://www.lydsy.com/JudgeOnline/problem.php?id=1009 阿申准备报名参加GT考试,准考证号为N位数X1X2....Xn(<=Xi<=), ...

  7. python正则提取关键字

    python使用正则表达式提取关键字 import sys reload(sys) sys.setdefaultencoding("utf-8") import re ss = & ...

  8. saltstack returners

    大意就是将saltstack 执行的结果,不在终端显示,写到文件或者数据库,功能类似于ansible的callback 参考 https://github.com/saltstack/salt/tre ...

  9. Java NIO中的Buffer 详解

    Java NIO中的Buffer用于和NIO通道进行交互.如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的.缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存.这块内存被包装成NIO ...

  10. UNIX网络编程中的字节序问题

    1.inet_pton 函数原型: inet_pton:将“点分十进制” -> “二进制整数” int inet_pton(int af, const char *src, void *dst) ...