day15MySQL数据库操作
来源:互联网 发布:合肥编程培训班 编辑:程序博客网 时间:2024/06/06 00:02
数据库操作:
启动数据库:
net start mysql;
关闭数据库:
net stop mysql;
设置自启动:
打开服务管理器: services.msc
命令行登陆数据库:
mysql -uroot -pitcast;//root是用户名(超级用户) -p后面是密码mysql -uroot -p;Enter password:(这里输入密码)
可视化工具:
专门针对MySQL数据库的可视化工具:SQLYog,有中文版。
SQL语句:
分类:
- [ ] DDL:数据定义(define)语言,用来定义数据库对象(库,表,列),关键字有 create、alter、drop
- [ ] DML:数据操作语言,对数据库中表记录进行更新,关键字insert、delete、update
- [ ] DCL:数据控制(control)语言,定义数据库的访问权限和安全级别,用户权限
- [ ] DQL:数据查询(query)语言,关键字:select from where
数据类型:
- [ ] int 整数;
- [ ] double 浮点;
- [ ] varchar 可变字符;
- [ ] date 日期
创建与查询:
创建数据库:
Create database 数据库名称;//数据库名称是唯一的create database 数据库名称 character set UTF-8 ;//指定字符集创建数据库
查看数据库:
show databases;//查看所有已经存在的数据库
查看创建的数据库:
show create database 数据库名称//查看创建的数据库名称,指定一个。
删除数据库:
drop database 数据库名字;
数据表的操作:
先执行使用某个数据库:
use 数据库名;//要求数据库已经创建好。使用该数据库。
创建:
create table 表名( 字段1 数据类型[约束条件], 字段2 数据类型[约束条件], ... primary key (字段1,字段2),//在字段后定义主键约束,这是一次性设置约束的方式 )
//注意:字段和数据类型之间是空格,可变字符数据类型后面需要指定长度,例如 name varchar(20), 是一个完成字段,字段之间用逗号分隔,最后一个字段后没有逗号。
字段值自动增加:
字段名 数据类型 primary key auto_increment;//创建数据表时,设置表中某字段的值为主键,自动增加//如果主键列是Varchar ,就不可以设置自动增长。
单表约束:
限制该列可以存的数据,
[ ] 主键:primary key 特点是非空 唯一,一般不具备任何含义。
[ ] 非空:not null
- [ ] 唯一:unique格式如下:- [ ] 字段名 数据类型 primary key,//创建数据表时,在字段名后面加上主键标识。 - [ ] primary key (字段1,字段2,...)//单起一行,设置多字段为主键 - [ ] 字段名 数据类型 not null;//创建数据表时,在字段后面设置非空 - [ ] 字段名 数据类型 unique;//设置字段的唯一性,表中字段不能重复 - [ ] 字段名 数据类型 default 默认值;//设置字段的默认值为指定值
注释:
单行注释 --注释内容 多行注释 /* 注释内容 */
增删改查
查看:
show create table 表名;//查看指定的表信息。
describe 表名;//简写desc 表名;//查看显示表的所有字段信息。
修改:
alter table 旧表名 rename [to] 新表名;//修改表名为指定表名。
alter table 表名 change 旧字段名 新字段名 新数据类型;//修改指定表中的某字段名。
alter table 表名 modify 字段名 数据类型;//修改字段的数据类型。
alter table 表名 add 新字段名 数据类型[约束条件] [FIRST] [AFTER 已存在字段名]//添加字段
alter talbe 表名 drop 字段名;//删除字段
alter table 表名 modify 字段名 数据类型 first|after 旧字段名;//修改字段位置
删除:
主要值删除相互之间没有关联的数据表
drop table 表名;//删除某一数据表
数据的操作:
- [ ] 增加:
- [ ] 删除:
- [ ] 修改:
- [ ] 查询:
添加数据:
*insert into 表名 (列名1,列名2,…) values (值1,值2,…);//注意名称问题,值和列名需要一一对应,列名的顺序可以不与表中列相同。
//各个字段用逗号隔开,Values拼写注意。
//注意如果有主键,添加的数据不能为空,不能与表中已有的主键重复。
//除了数字类型,值都要用单引号括起来
//设置了自动增长的列,设置值为NULL时,默认也会自动增长。
添加数据:(不考虑主键)
*insert into 表名 (列名1,列名2…) values (值1,值2,…);
//列名集中不包含主键。
*insert into 表名 values (全列值);//如果省略列名集合,值集合中必须包含主键(如果自增,可以设置为NULL),给的值与表中的列一一对应。
添加数据批量写入:
*insert into 表名 (列名1,列名2…) values (值1,值2,…),(值1,值2,…),…;
修改(更新):
update 表名 set 列1=值1,列2=值2 where 条件;//修改指定条件的各列值。如果不指定条件,会修改整列所有数据。
//条件一般是数据中的唯一性。例如 id = 3
条件表达式:
与 应该用and 不能用&
或 应该用or 不能用|
非 应该用not 不能用!
不等于需要用 <>
in (值1,值2,…) 表示值集是否包含了给定列。如 where id in (1,3,…)表示可以为1 或2 或 其他。
not in (值1,…)表示不包含。
删除:
delete from 表名 where 条件;//需要指定条件删除哪一行,否则会清空表
truncate [table] 表名;//直接将表删除摧毁,而且重新新建,自增长的主键回归到0。而用delete不会归0.[table]表示table可以不写
事务:
start transaction;//开启事务,当用delete删除数据后,可以通过 rollback;回滚到事务位置。如果用truncate则无法回滚。
查询:(基本)
指定列的数据:
select 列名1,列名2,… from 表名;//查询该表中指定列的所有信息
所有列数据:
select * from 表名;//查询该表下所有列的所有信息。
去掉重复记录:
select distinct 列名 from 表名;//查询去重后记录,关键字distinct(不同的意思)后跟字段名。
查询重新命名列
select 列名 as 新列名 from 表名;//查询指定列名,临时改成新列名。as可以省略。
查询直接运算:
select 列名+num as 新列名 from 表名;//查询并对数字运算,返回运算后结果。也是临时的,实际数据库中未改。列名只能是数字类型可运算的。
查询:(条件)
比较运算符:
< <= >= = <>
between 值1 and 值2 在两个值范围之间,
in (值1,值2,…) 在值的结果集中,只需要时其中一个
not in (值的结果集) 不在结果集中。
select 列名 from 表名 where 条件(某列名=…);//条件对结果集进行筛选。
模糊查询:
通用:select 列名 from 表名 where 条件;
条件写法:
列名 like ‘%子名%’;//查询名字包含子名的所有数据信息,%表示通配符。
列名 like ‘_‘;//查询名字值只有若干字符的所有数据,一个下划线表示一个字符
列名 not null;//查询指定列名非空的所有数据。
列名 is null //条件是空。
not (列名 is null);//非空
- day15MySQL数据库操作
- 操作数据库
- 数据库操作
- 数据库操作
- 数据库操作
- 数据库操作
- 数据库操作
- 数据库操作
- 数据库操作
- 数据库操作
- 数据库操作
- 数据库操作
- 数据库操作
- 数据库操作
- 数据库操作
- 数据库操作
- 数据库操作
- 操作数据库
- oracle 12c误删pdb数据文件导致整个数据库无法打开问题
- Effective C++ 11. Handle assignment to self in operator=
- 设计模式_命令模式(21)
- koa入门教程
- Spring Cloud分布式微服务云架构服务组件
- day15MySQL数据库操作
- ARM和x86比较
- moni1
- java编程思想学习笔记(一)——java类与c++类的区别
- IDEA 快捷键集合
- kafka环境搭建—“找不到或无法加载主类config.zookeeper.properties” "找不到或无法加载主类config.server.properties"
- misc常用查询表(不定时更新)
- 用户界面的增删改查2017
- Android中出来崩溃异常捕获