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. bzoj3900 交换茸角

    题目链接 思路 看到n比较小,可以状压. 可以先考虑什么情况下会无法平衡.显然就是排完序之后两两相邻的不能满足小于等于c的限制. 状态.用f[i]来表示i集合中的鹿完成交换所需要的次数. 预处理.无法 ...

  2. 使用selenium 模拟人操作请求网页

    首先要 pip install selenium  安装插件 然后要下载驱动驱动根据你的浏览器 Chrome  selenium 驱动下载地址 http://chromedriver.storage. ...

  3. python高并发的解决方案

    一.cnd加速 简单说就是把静态资源放到别人服务器上 全称:Content Delivery Network或Content Ddistribute Network,即内容分发网络 基本思路: 尽可能 ...

  4. Can not issue data manipulation statements with executeQuery()错误解决

    转: Can not issue data manipulation statements with executeQuery()错误解决 2012年03月27日 15:47:52 katalya 阅 ...

  5. ideaJ+maven+javaweb实践: sevlet实现upload&download,javaIO代码

    因为工作的机器不让拷贝出来也不让发邮件出来也不让访问外网,所以文件两个PC挪来挪去很麻烦. 决定写一个网页,只有upload和download ideaJ,maven,java,tomcat 写一个j ...

  6. jRebel与xRebel的使用

    jRebel: https://blog.csdn.net/liuzhigang828/article/details/72875190 xRebel: https://blog.csdn.net/a ...

  7. Linux系统诊断必备技能之一:lsof 用法详解!

    lsof(list open files)是一个查看当前系统文件的工具.在linux环境下,任何事物都以文件的形式存在,用户通过文件不仅可以访问常规数据,还可以访问网络连接和硬件:如传输控制协议 (T ...

  8. java8的Streams

    首先看一个问题:在这个task集合中一共有多少个OPEN状态的?计算出它们的points属性和.在Java 8之前,要解决这个问题,则需要使用foreach循环遍历task集合:但是在Java 8中可 ...

  9. Jenkins自动化部署war项目

    基于上一篇Jenkins安装环境,下面对自动打包部署做个备忘 1.安装:Publish over SSH 插件 2.安装完成后,进入下图配置 ↓↓↓ 3.翻到底下↓↓↓ 找到刚刚安装的Publish ...

  10. layui(四)——table组件常见用法总结

    table是 layui 最核心的组成之一.它用于对表格进行一些列功能和动态化数据操作,涵盖了日常业务所涉及的几乎全部需求.支持固定表头.固定行.固定列左/列右,支持拖拽改变列宽度,支持排序,支持多级 ...