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. flask 连接MogoDB数据库

    # -*- encoding: utf-8 -*- from flask import Flask,request,jsonify,render_template #导入pymongo来连接mongo ...

  2. [SDOI2011]计算器(exgcd&BSGS)

    k=1:裸的快速幂k=2:xy=z+kp,直接exgcd,这个可以不用解释了,不懂的同学可以看代码 k=3:裸的BSGS 重点是k=3(BSGS学习)ax=b(mod p)求解这个同余方程只能求gcd ...

  3. 如何测试连接MsSQL数据库-------UDL文件

    http://www.xinnet.com/service/cjwt/idc/sjk/1360.html 如果您所使用的 SQL Server 数据库连不上,可以通过这个方法进行测试数据库连接. 温馨 ...

  4. JAVA 微信支付 native方式

    最近做了一个微信native方式支付的demo,整理一下. 首先到微信公众号官网阅读开发文档,虽然文档对于java没有例子,但是也可以作参考.https://pay.weixin.qq.com/wik ...

  5. 为Druid监控配置访问权限(配置访问监控信息的用户与密码)

    转: l 为Druid监控配置访问权限(配置访问监控信息的用户与密码) 2014-09-26 09:21:48         来源:renfufei的专栏   收藏   我要投稿   Druid是一 ...

  6. java的零拷贝机制

    转:https://blog.csdn.net/zhouhao88410234/article/details/77574689?fps=1&locationNum=9 为何要懂零拷贝原理?因 ...

  7. Web API中的内容协商

    一.内容协商的概念 HTTP规范将内容协商定义为“当有多个格式可用时为给定响应选择最佳格式的过程”.HTTP中内容协商的主要机制是这些请求标头: Accept:响应可接受哪些媒体类型,例如“appli ...

  8. 浏览器内核 Trident Gecko Presto Webkit

    Trident内核:IE,MaxThon,TT,The World,360,搜狗浏览器等 Gecko内核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey等 Prest ...

  9. hihoCoder #1457 : 后缀自动机四·重复旋律7(后缀自动机 + 拓扑排序)

    http://hihocoder.com/problemset/problem/1457 val[i] 表示状态i所表示的所有字符串的十进制之和 ans= ∑ val[i]在后缀自动机上,从起始状态走 ...

  10. HDU 1027(数字排列 STL)

    题意是求 n 个数在全排列中的第 m 个序列. 直接用 stl 中的 next_permutation(a, a+n) (这个函数是求一段序列的下一个序列的) 代码如下: #include <b ...