day15MySQL数据库操作
2017-10-26 09:17
127 查看
数据库操作:
启动数据库:
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