MySql数据库学习笔记(1)
MySql数据库
下载地址
https://dev.mysql.com/downloads/mysql/5.1.html#downloads
连接到本机上的MYSQL
mysql -u root -p
创建数据库
命令:create database ;
create database Myschool;查看数据库
命令:show databases;创建表
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);查看所有表;
mysql> show tables;查看创建表结构
mysql> show create table Subject;删除数据库
命令: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 |
+---------------+---------------------------------------------+
修改表结构:
添加字段
mysql> alter table Student add CollegeMajor varchar(50);
语法:ALTER TABLE table_name ADD field_name field_type;查看表结构:
语法: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 | |
+--------------+--------------+------+-----+---------+-------+修改表名;
mysql> alter table t_test rename tbl_test;修改列名;
mysql> alter table Student change CollegeMajor2 Interest varchar(255);修改列属性;
mysql> alter table Student Modify Adress char(255);删除列;
mysql> alter table Student drop is_deleted;删除表;
mysql> drop table t_test;MySQL数据库管理
DML:数据操作语言,用于操作数据库对象包含的数据
包括:- INSERT ;
- UPDATE ;
DELETE ;
DML
insert
- mysql> insert into Grade(GradeId,GradeName) value(1,'大一');
- mysql> insert into Grade value(2,'大二');
- mysql> insert into Grade value(3,'大三'),(4,'大四');
mysql> insert into Grade(GradeName)
-> select GradeName from Grade ;修改字段为自动增长
mysql> alter table Grade modify GradeID int auto_increment;修改表编码
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)的更多相关文章
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Mysql数据库学习笔记之数据库索引(index)
什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...
- MYSQL数据库学习笔记1
MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...
- MySQL数据库学习笔记<一>
MySQL基本概念以及简单操作 一.MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系 ...
- MySQL数据库学习笔记(四)----MySQL聚合函数、控制流程函数(含navicat软件的介绍)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(三)----基本的SQL语句
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- mysql 数据库学习笔记一
一.navicat的引入: (第三方可视化的客户端,方便MySQL数据库的管理和维护)安装网址:https://www.navicat.com.cn/ NavicatTM是一套快速.可靠并价格相宜的数 ...
随机推荐
- MVC过滤器处理Session过期
一.自定义一个Action过滤器 public class CheckSession: ActionFilterAttribute { public override void OnActionExe ...
- Flask Mysql数据库连接
下载库: pip install flask-sqlalchemy 下载后进入终端使用python后import导入模块测试没有报错就说明成功了 py文件: # -*- encoding: utf-8 ...
- 每天一个Linux命令 (转)
一. 文件目录操作命令: 1.每天一个linux命令(1):ls命令 2.每天一个linux命令(2):cd命令 3.每天一个linux命令(3):pwd命令 4.每天一个linux命令(4):mk ...
- 【译】4. Java反射——字段
原文地址:http://tutorials.jenkov.com/java-reflection/fields.html ======================================= ...
- marks学习2
控件的大小单位用dp 控件的高度和宽度 sp字体的单位 控件的字体的大小.可缩放字体. 内边距 padding控件的边缘到控件内荣的距离
- vnc连接虚拟机中的CentOS7系统
1.CentOS7 core安装gnome桌面 安装Gnome包# yum groupinstall "GNOME Desktop" "Graphical Adminis ...
- Qt ------ linux(ubuntu) 下用 linuxdeployqt 打包发布程序
https://github.com/probonopd/linuxdeployqt/releases 1.下载linuxdeployqt 2.把下载的文件放入 /usr/local/bin 内,并执 ...
- 关键字(6):trigger触发器
trigger是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它执行.触发器经常用于加强数据的 ...
- 上这个资源网站,让你轻松无忧找mac软件资源
之前分享过好几篇关于mac软件相关的文章(想要看其他的mac软件专题文章,可以关注我,点击进入查看发表的文章),有网友表示,优质的软件推荐清单有了,想要下载和获取mac软件,买一个正版软件在APP s ...
- Centos 7最小化安装部署PostgreSQL
安装 sh-4.2# yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-ce ...