原生sql整理
1 --登录mysql 2 mysql -uroot -p 3 4 --查看所有库 5 show databases; 6 7 -- 创建数据库 8 -- 不指定编码,默认为拉丁 9 create database `test` charset=utf8; 10 11 -- 查看创建数据库过程 12 show create database `test`; 13 +------------+------------------------------------------------------------------ 14 ---+ 15 | Database | Create Database 16 | 17 +------------+------------------------------------------------------------------ 18 ---+ 19 | test |CREATE DATABASE `jiang_test` /*!40100 DEFAULT CHARACTER SET utf8 20 */ | 21 +------------+------------------------------------------------------------------ 22 23 --删除数据库 谨慎使用 24 drop database `test`; 25 26 --查看当前使用的数据库 27 select database(); 28 +------------+ 29 | database() | 30 +------------+ 31 | test | 32 +------------+ 33 34 35 36 37 --进入数据库 38 use test; 39 40 --创建数据表 41 create table test_table( 42 -- 字段名 数据类型 约束 43 id int not null auto_increment primary key, id字段 自增长 主键 44 name varchar(32) not null, name字段 不能为空 45 age int not null, age字段 不能为空 46 c_date date not null 47 ); 48 --创建student表(id,name,high,gender,cls_id) 49 create table student( 50 id int unsigned not null auto_increment primary key, --int unsigned 无符号整型 51 name varchar(10) not null default 0, 52 high decimal(5,2) default 0.00, --decimal(5,2) 小数(一共有五位,保留两位小数) 53 gender enum("man","lady","secrecy") default "man", --enum() 枚举类型 default 默认值 54 cls_id int unsigned default 0 55 ); 56 57 58 59 -- 删除数据 60 --删除数据表 61 drop table 数据表; 62 --删除字段 63 alter table student drop age; 64 --删除数据行 65 delete from student where id=2; 66 --条件删除 67 delete from student where id>2; 68 69 70 71 -- 改数据,插入数据 72 --更新数据 73 update student set name="qqq", gender=1 where id=7; 74 --修改表结构 75 --添加字段 76 alter table student add age int unsigned not null default 0; 77 alter table student add birthday datetime; --birthday 字段名 datetime数据类型,约束 78 --更改字段数据类型,约束 79 alter table student modify birthday date; 80 --更改字段名 81 --alter table student change (原名)birthday (重命名)birth (数据类型,约束)datetime default "0-0-0-0"; 82 alter table student change birthday birth datetime default "0-0-0-0"; 83 --删除字段 (慎用) 84 alter table student drop age; 85 --插入数据 86 insert into student values(0, "张全蛋", 180.11, "man", 0); 87 --部分插入 88 insert into student(name,gender) values("钻石王老五", "man"); 89 90 91 92 93 -- 查看数据 94 95 --查看表结构 96 desc test_table; 97 +-------+-------------+------+-----+---------+----------------+ 98 | Field | Type | Null | Key | Default | Extra | 99 +-------+-------------+------+-----+---------+----------------+ 100 | id | int(11) | NO | PRI | NULL | auto_increment | 101 | name | varchar(10) | NO | | NULL | | 102 +-------+-------------+------+-----+---------+----------------+ 103 --查看当前数据库所有表 104 show tables; 105 --查看某张表的所有数据 106 select *from `student`; 107 --查看某张表某些数据 108 select name,id from student; 109 --查询时给字段起别名 110 select name as "姓名",id as "编号" from student; 111 -- 查看创建表过程 112 show create table student; 113 | student | CREATE TABLE `student` ( 114 `id` int(10) unsigned NOT NULL AUTO_INCREMENT, 115 `name` varchar(10) NOT NULL, 116 `high` decimal(5,2) DEFAULT NULL, 117 `gender` enum('man','lady','secrecy') DEFAULT 'man', 118 `cls_id` int(10) unsigned DEFAULT NULL, 119 `birth` date DEFAULT '0000-00-00', 120 PRIMARY KEY (`id`) 121 ) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 | 122 --条件查询 123 select *from student where id>2; 124 --模糊查询 125 select * from student where register_date like "2018-07%"; 126 select *from stdent limit 3 offset 2; 从第2(不包括第二条)条数据开始查 查3条数据 127 128 129 130 131 -- 多插入 132 insert students values(0,"件小9",150.22,1,2,"0-0-0-0"), 133 (0,"面小10",160.22,3,3,"0-0-0-0"), 134 (0,"李小11",170.22,3,3,"0-0-0-0"), 135 (0,"王小12",170.22,3,3,"0-0-0-0"), 136 (0,"张小13",170.22,2,4,"0-0-0-0"), 137 (0,"汪小14",180.22,2,5,"0-0-0-0"), 138 (0,"额小15",180.12,1,1,"0-0-0-0"), 139 (0,"户小16",180.12,1,2,"0-0-0-0"); 140 141 142 143 -- 执行sql文件 test.sql 144 -- 打开终端 145 -- cd sql文件所在路径 146 -- 进入mysql 147 -- use 数据库 148 -- 执行 149 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