--登录mysql
mysql -uroot -p --查看所有库
show databases; -- 创建数据库
-- 不指定编码,默认为拉丁
create database `test` charset=utf8; -- 查看创建数据库过程
show create database `test`;
+------------+------------------------------------------------------------------
---+
| Database | Create Database
|
+------------+------------------------------------------------------------------
---+
| test |CREATE DATABASE `jiang_test` /*!40100 DEFAULT CHARACTER SET utf8
*/ |
+------------+------------------------------------------------------------------ --删除数据库 谨慎使用
drop database `test`; --查看当前使用的数据库
select database();
+------------+
| database() |
+------------+
| test |
+------------+ --进入数据库
use test; --创建数据表
create table test_table(
-- 字段名 数据类型 约束
id int not null auto_increment primary key, id字段 自增长 主键
name varchar(32) not null, name字段 不能为空
age int not null, age字段 不能为空
c_date date not null
);
--创建student表(id,name,high,gender,cls_id)
create table student(
id int unsigned not null auto_increment primary key, --int unsigned 无符号整型
name varchar(10) not null default 0,
high decimal(5,2) default 0.00, --decimal(5,2) 小数(一共有五位,保留两位小数)
gender enum("man","lady","secrecy") default "man", --enum() 枚举类型 default 默认值
cls_id int unsigned default 0
); -- 删除数据
--删除数据表
drop table 数据表;
--删除字段
alter table student drop age;
--删除数据行
delete from student where id=2;
--条件删除
delete from student where id>2; -- 改数据,插入数据
--更新数据
update student set name="qqq", gender=1 where id=7;
--修改表结构
--添加字段
alter table student add age int unsigned not null default 0;
alter table student add birthday datetime; --birthday 字段名 datetime数据类型,约束
--更改字段数据类型,约束
alter table student modify birthday date;
--更改字段名
--alter table student change (原名)birthday (重命名)birth (数据类型,约束)datetime default "0-0-0-0";
alter table student change birthday birth datetime default "0-0-0-0";
--删除字段 (慎用)
alter table student drop age;
--插入数据
insert into student values(0, "张全蛋", 180.11, "man", 0);
--部分插入
insert into student(name,gender) values("钻石王老五", "man"); -- 查看数据 --查看表结构
desc test_table;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(10) | NO | | NULL | |
+-------+-------------+------+-----+---------+----------------+
--查看当前数据库所有表
show tables;
--查看某张表的所有数据
select *from `student`;
--查看某张表某些数据
select name,id from student;
--查询时给字段起别名
select name as "姓名",id as "编号" from student;
-- 查看创建表过程
show create table student;
| student | CREATE TABLE `student` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(10) NOT NULL,
`high` decimal(5,2) DEFAULT NULL,
`gender` enum('man','lady','secrecy') DEFAULT 'man',
`cls_id` int(10) unsigned DEFAULT NULL,
`birth` date DEFAULT '0000-00-00',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 |
--条件查询
select *from student where id>2;
--模糊查询
select * from student where register_date like "2018-07%";
select *from stdent limit 3 offset 2; 从第2(不包括第二条)条数据开始查 查3条数据 -- 多插入
insert students values(0,"件小9",150.22,1,2,"0-0-0-0"),
(0,"面小10",160.22,3,3,"0-0-0-0"),
(0,"李小11",170.22,3,3,"0-0-0-0"),
(0,"王小12",170.22,3,3,"0-0-0-0"),
(0,"张小13",170.22,2,4,"0-0-0-0"),
(0,"汪小14",180.22,2,5,"0-0-0-0"),
(0,"额小15",180.12,1,1,"0-0-0-0"),
(0,"户小16",180.12,1,2,"0-0-0-0"); -- 执行sql文件 test.sql
-- 打开终端
-- cd sql文件所在路径
-- 进入mysql
-- use 数据库
-- 执行
source test.sql;
数据库
1.数据以表格的形式出现
2.每行为各种记录名称
3.每列为记录名称所对应的数据域
4.许多的行和列组成一张表单
5.若干的表单组成database 数据库: 数据库是一些关联表的集合。
数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
外键:外键用于关联两个表。
复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。 如:MySQL 连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456”
C:/>mysql -h 192.168.5.116 -P 3306 -u root -p123456

原生sql整理的更多相关文章

  1. SpringData JPA进阶查询—JPQL/原生SQL查询、分页处理、部分字段映射查询

    上一篇介绍了入门基础篇SpringDataJPA访问数据库.本篇介绍SpringDataJPA进一步的定制化查询,使用JPQL或者SQL进行查询.部分字段映射.分页等.本文尽量以简单的建模与代码进行展 ...

  2. entityframework学习笔记--009-使用原生sql语句操作数据

    1 使用原生SQL语句更新--Database.ExecuteSqlCommand 假设你有一张如图9-1所示的Payment数据库表. 图9-1 1.1 实体类型: public class Pay ...

  3. 控制台查看原生sql

    情况:当tomcat运行时,项目运行过程中,控制台没有打印出原生sql语句: 解决办法如下: 在 META-INF  文件夹下,查找 persistence.xml 这个文件(这里注意可能一个项目不止 ...

  4. Hibernate 分组查询 子查询 原生SQL

    分组查询: 使用group by关键字对数据分组,使用having关键字对分组数据设定约束条件,从而完成对数据分组和统计 1.1 聚合函数:常被用来实现数据统计功能 ① count() 统计记录条数 ...

  5. Spring的jdbcTemplate查询执行原生sql

    在spring与hibernate整合时进行数据库检索,执行原生sql: public AppointmentEvaluateVo searchMyfeedbackDetail(String acco ...

  6. slick for play 使用原生sql查询以及拼接sql

    在play中用函数式框架slick来操作数据库是一件很爽的事情.但有时因为某些特殊场景又不得不用原生的sql了. 还好slick支持这种写法,可以看看slick官方文档,Slick Plain SQL ...

  7. Hibernate原生SQL查询

    最近在做一个较为复杂的查询,hibernate基本的查询不能满足,只好使用其提供的原生sql查询.参考网上的一些资料,做一些总结. 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行 ...

  8. 08章 分组查询、子查询、原生SQL

    一.分组查询 使用group by关键字对数据分组,使用having关键字对分组数据设定约束条件,从而完成对数据分组和统计 1.1 聚合函数:常被用来实现数据统计功能 ① count() 统计记录条数 ...

  9. Hibernate原生SQL映射MySQL的CHAR(n)类型到String时出错

    今天在用Hibernate通过原生SQL和ResultTransformer映射时,出现数据类型不匹配的错误.但是通过Entity映射,没有问题.在网上找了好多答案,终于解决了. 核心代码: Stri ...

随机推荐

  1. Docker & ASP.NET Core (1):把代码连接到容器

    和这种蛋糕一样,Docker的容器和镜像也是使用类似的分层文件系统构建而成的. 这样做的好处就是可以节省硬盘空间,也利于复用等等.因为Docker基于镜像创建容器的时候,其镜像是共享的:而且镜像里面的 ...

  2. 【Android Studio安装部署系列】二十四、Android studio中Gradle插件版本和Gradle版本关系

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 在从Android Studio3.0.0版本升级到Android Studio3.0.1版本的时候,出现了一个问题,需要升级Gra ...

  3. pycharm安装svn插件

    弄了svn的服务端和客户端,为了方便我pycharm的使用,我又在pycharm里进行了配置,要用到subversion 下载 https://sourceforge.net/projects/win ...

  4. 架构设计之「 CAP 定理 」

    在计算机领域,如果是初入行就算了,如果是多年的老码农还不懂 CAP 定理,那就真的说不过去了.CAP可是每一名技术架构师都必须掌握的基础原则啊. 现在只要是稍微大一点的互联网项目都是采用 分布式 结构 ...

  5. HTTP1.0和HTTP1.1的区别

    1.HTTP 1.1支持长连接(PersistentConnection)和请求的流水线(Pipelining)处理 HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器 ...

  6. JavaScript类型相关常用操作

    JS数组,字符串,json互相转换 JS数组转字符串 使用数组自带的join方法可以把数组转化为字符串: let arr = [1,2,'uu']; let str = arr.join(','); ...

  7. python之循环(增删)内使用list.remove()

    dat=['] for item in dat: ': dat.remove(item) print(dat) #按要求是把'0'都删掉的,输出结果是['1', '2', '3', '0'] ?? 首 ...

  8. AFO && OI回忆录

    技不如人,甘拜下风 今天是2019.4.6,联考第一天,菜鸡attack原题爆炸(其实是都不会)心灰意冷(其实并没有很难过)写下了这篇文章 T1 2h写个跟\(k\)无关的假算法写到最后发现是三个lo ...

  9. 30号快手笔试(三道ac两道半)————-历史上最大的网络失误orz

    case  50 ,20,100 做题以来第一次重大失误:最后两分钟发现手机关机了,然后充电开机orz 页面是js代码, 钟表是一直会走的, 手机没电了, 电脑连接的手机的热点: 只顾在调试,先过了第 ...

  10. datatable的部分问题处理(动态定义列头,给某行添加事件,初始显示空数据)

    一.动态定义列头 在ajax中,用datatable再去重新配置列头,当然传回的数据中,要有对应放列头的键值对 我自定义了Mock数据,用于前端自己交互. 其中,rowdata用于存放传回的数据,co ...