MySQL
数据库总结
DDL定义数据库语句 创建/删除数据库 创建/删除表 修改表(增删改)
DML数据操作语句 sql语句 增 删 改 查 运算符 特殊运算符
约束:主键 auto_increment unique not null default
事务:4个特性 提交 回滚 保存点 DDL自动提交 DML可以设置成手动提交
函数:聚合函数 分组 having where区别
表连接 交叉连接(笛卡尔积) 内连接 自然连接(去掉重复列) 左外连接 右外连接 全连接 自连接
子查询(嵌套 相关)
表结构设计 三范式 外键
视图
----------------------------------------------------
索引 触发器(触发事件insert/update/delete 触发时间after before)
存过过程 自定义函数
常见的数据库:
oracle:大型数据库 mysql:中型 sqlsever:中型
数据库的大小指的是数据不断增长的过程中 数据库本身能够依然保持对数据管理的较高效率
mysql指令:
进入指令:cmd进入mysql的根目录的bin目录位置 直接输入mysql进入
最高管理进入:mysql -uroot -p 输入密码:123456
启动mysql:cmd mysql bin目录执行 net start mysql
停止mysql:cmd输入 net stop mysql
如何卸载mysql服务:
先停止服务 tasklist| findstr "mysql”,用于查找mysql的残留进程
taskkill/f /t /im mysqld.exe,就可以将mysql残留进程全部杀死了
切换到 mysql的bin目录 执行 mysqld remove mysql 来删除当前的mysql Service successfully removed.表示成功
基本操作指令:
- 查看所有数据库:show databases
- 创建数据库:create database
- 使用数据库:use szt1(szt1是数据库名字 )
- 创建一张表:create table stz1(列名 列类型(列大小),列名 列类型(列大小)); create table student(name varchar(12),age int(3));
- 查看表:show tables
- 向表中所有列插入数据:insert into szt1 values('xiaoming',15);
- 查看表中所有数据;select * from szt1;
- 向表中指定列插入数据:insert into szt1(name) values('xiomming');
- 删除指定数据:delete from szt1 where age=65; 删除年龄为65的数据
- 修改指定数据:update szt1 set age=108 where name 'xiaoming'; 把名叫小明的年龄修改成108
- 删除一张表:drop table szt1;
SQL数据类型
整数:
create table nums(data1 tinyint(3),data2 smallint(3),data3 int(3),data4 bigint(3))
insert into nums values(11,12,13,14);
测试数据丢失问题
insert into nums values(130,130,130,130);
小数:
create table nums2(data1 float(5,3),data2 double(5,3));
insert into nums2 values(12.345,22.456);
淘气一下多放几位试试
create table nums6(data1 double ,data2 decimal(30,28)); 30位数字,其中28位小数
字符串
varchar
text
char(10) :上限255,写10就占用10
varchar(10)上限65535 写10就占用0
text:上限65535,不可以写10
字符串用 '' 表示 例如:'hehe' '大黄'
时间和日期类型
create table date1(data1 date,data2 time);
insert into date1 values('1999-10-10','10:12:20');
create table date2(data1 datetime,data2 timestamp);
insert into date2 values('1999-10-10 10:12:20','1999-10-10 10:12:20');
timetamp随着时区的变化而变化
set time_zone='+8:00'; 修改时区
修改时区在查询看一下吧
如果一定要boolean,用tinyint的 0--false 和 1--true
alter table student modify studentscore tinyint(3); 修改列类型
alter table student add studentsex varchar(1); 新增一列
alter table student drop studentsex; 删除一列
alter table student change studentscore student分数 tinyint(3); 修改列名称
alter table student rename 学生表; 改表名