目录
数据库
-- 查看所有数据库
show datebases;
-- 使用数据库
use mysql;
-- 创建数据库
create database day01;
-- 创建数据库指定编码 编码已经修改的 可以不用
# create database day01 character set utf8;
-- 使用day01
use day01;
-- 查看某个数据库的定义的信息:
show create databases day01;
-- 删除数据库
select databases();
-- 查看正在使用的数据库
drop databases day01;
表
创建表
创建表
create table 表名(
列名 数据类型(长度) [约束],
列名 数据类型(长度) [约束],
列名 数据类型(长度) [约束]
);
主键约束:限制当前列数据 非空 唯一
一张表只能有一个主键约束
一般情况主键约束都应该是与业务逻辑无关的列
primary key
主键自动增长:由mysql自己来维护主键 auto_increment
use day01;
create table users(
uid int primary key auto_increment,
username varchar(100),
`password` varchar(100)
);
create table category(
cid int primary key auto_increment,
cname varchar(100)
);
-- 查看数据库中所有的表
-- show tables;
show tables;
-- 查看表结构
-- desc 表名
desc users;
desc category;
-- 删除表
-- drop table 表名;
drop table users;
--修改表结构
-- 添加列
-- alter table 表名 add 列名 数据类型 [约束];
alter table users add addr varchar(200);
-- 修改列 数据类型和约束
-- alter table 表名 modify 列名 数据类型 [约束];
alter table users modify addr int not null;
alter table users modify addr varchar(200);
-- 修改列 列名 数据类型 约束
-- alter table 表名 change 旧列名 新列名 数据类型 [约束];
alter table users change addr address varchar(100) not null;
-- 删除列
-- alter table 表名 drop 列名;
alter table users drop address;
-- 修改表名
-- rename table 旧表面 to 新表名;
rename table users to `user`;
rename table `user` to users;
-- 修改字符集
-- alter table 表名 character set 字符集(了解);
插入表数据
向表内插入数据
insert into 表名(列名,列名...) values(列值,列值...)
列名和列值 也一一对应 个数 顺序 类型
注意: 只有数字类型 不需要使用''
其他任何类型 都需要使用''或者"" 推荐使用''
String s = "INSERT INTO users(uid ,username,`password`) VALUES(1,'liuyan','123')";
INSERT INTO users(uid ,username,`password`) VALUES(2,'liuyan','123');
-- 设置了主键自动增长 可以 忽略主键 插入数据
INSERT INTO users(username,`password`) VALUES('tangyan','321');
INSERT INTO users(uid,username,`password`) VALUES(NULL,'tangyan','321');
-- 全列值
-- insert into 表名 values(全列值);
INSERT INTO users VALUES(NULL,'admin','123');
-- 第二种插入方式
-- 只能插入一条语句
INSERT INTO users SET username='admin',PASSWORD='123';
-- 插入多条语句
-- insert into 表名(列名,列名...) values(列值,列值...),(列值,列值...),()...
INSERT INTO users(username,PASSWORD) VALUES
('jinlian','250'),
('dalang','123'),
('ximenqing','321');
更新表数据
修改表数据
update 表名 set 列名=列值,列名=值 where 条件
= != <> > < >= <= and 并且 or 或者 not 取反
- 注意:
-
- 列名的类型与修改的值要一致.
- 修改值得时候不能超过最大长度.
- 除了数值类型外,其它的字段类型的值必须使用引号引起
update users set password='321' where username ='liuyan';
update users set password ='1234' where uid = 2;
update users set password ='12345' where uid >=7;
删除表数据
delete from 表名 [where 条件];
delete from 表名; 删除所有表数据 DML语句 一条一条删除所有记录
不删除自动增长的记录
TRUNCATE table 表名; 删除所有表数据 DDL语句 将原来的表drop掉 然后创建一张一模一样新表
重置自动增长的记录