目录
1、启动MySQL
(1) mac版终端输入 PATH="$PATH":/usr/local/mysql/bin
(2) 输入mysql -uroot -p
(3) 出现如下页面
2、DDL
1、查询
show databases;
2、创建
create database db1;
create database if not exists db2;
3、删除
drop database db2;
drop database if exists db2;
4、使用数据库
查看当前使用数据库
select database();
使用数据库
use 数据库名称;
5、查询表
show tables;
desc 表名称;
6、创建表
create table [if not exists] 表名(
‘字段名’ ‘列类型’ [属性] [索引] [注释],
‘字段名’ ‘列类型’ [属性] [索引] [注释],
………….
‘字段名’ ‘列类型’ [属性] [索引] [注释],
)[表类型][字符集设置][注释]
最后一行末尾不能有逗号
7、数据类型
数值
Tinyint 十分小的数据 1个字节
Smallint 较小的数据 2个字节
Mediumint 中等大小的数据 3个字节
Int 标准整数 4个字节
Bigint 较大数据 8个字节
Float 浮点数 4个字节
Double 浮点数 8个字节 (精度问题!!!)
Decimal 字符串形式的浮点数,金融计算使用Decimal
字符串
Char 字符串固定大小 0-255
Varchar 可变字符串 0-65535 常用的 String
Tinyint 微型文本 2^8-1
Text 文本串 2^16-1
时间日期
Java.util.Date
Date : YYYY-MM-DD,日期
Time HH:mm:ss时间格式
Datetime YYYY-MM-DD HH:mm:ss
Timestamp 时间戳 1970.1.1到现在的毫秒数! 也较为常用
Year 年份
Null
没有值,未知
==注意,不要使用null
数据库的字段属性(重点)
Unsigned:
无符号整数
声明了该列不能声明负数
Zerofill:
0填充的
不足的位数,使用0来填充 int(3),5,
自增:
通常用来设计唯一的主键index,必须是整数类型
可以自定义设计
非空 NULL not null
假设设置为not null ,如果不给他赋值,将会报错
NULL,如果不填写值,默认就是null
默认:
设置默认的值!
Sex,默认值为男,如果不指定该列的值,则会有默认的值!
8、删除表
drop table 表名;
drop table if exists (表名);
9、修改表
-- 修改表名 ALTER TABLE 旧表名 RENAME To 新表名
ALTER TABLE student RENAME TO student1
-- 增加表的字段 ALTER TABLE 表名 ADD 字段名 列属性
ALTER TABLE student1 ADD age INT(11)
-- 修改表的字段 (重命名,修改约束)ALTER TABLE 表名 MODIFY 字段名 列属性[ ]
ALTER TABLE student1 MODIFY age VARCHAR(11) -- 修改约束
--Alter table 表名 change 就名字 新名字 列属性[]
ALTER TABLE student1 CHANGE age age1 INT(1) -- 字段重命名
3、DML
-- 插入语句
-- insert into 表名 ([字段1,字段2,字段3]) values('值1'),('值2'),('值3')
-- 查询数据
SELECT
*
FROM
stu;
-- 给指定列添加数据
INSERT INTO stu ( id, NAME )
VALUES
( 1, '张三' );
-- 给所有列添加数据,列名的列表可以省略的,具体开发不要省略
INSERT INTO stu ( id, NAME, sex, birthday, score, email, tel, STATUS )
VALUES
( 2, '李四', '男', '1999-11-11', 88.88, 'list@it.com', '1876546544', 2 );
INSERT INTO stu
VALUES
( 2, '李四', '男', '1999-11-11', 88.88, 'list@it.com', '1876546544', 2 );
-- 由于主键自增我们可以省略(如果不写表的字段,他就会一一匹配)
INSERT INTO `grade` VALUES ('大三')
INSERT INTO `stu1` (`name`) VALUES ('程小强')
INSERT INTO `stu1` (`name`,`pwd`,`sex`) VALUES ('张三','123456','男')
-- 一般插入语句,数据字段一一对应
修改 Update 修改谁 (条件) set 原来的值=新值
-- 修改学员的名字,带了简介
UPDATE `stu1` SET `name`='狂神' WHERE id=1;
-- 不指定条件的情况下,会改动所有表
UPDATE `stu1` SET `name`='长江7号';
-- 修改数据
-- 将张三的sex改成女
UPDATE stu set sex='女' WHERE name='张三';
-- 将张三的生日改成 1999-12-12 分数改成 99.99
UPDATE stu set birthday='1999-12-12',score='99.99' WHERE name='张三';
-- 注意:若update语句中没有加where条件,则会将表中所有数据全部修改!
UPDATE stu set sex='女';
--语法:
Update 表名 set colnum_name=value where [条件]
删除 delete from 表名 where 条件
- 删除
-- 删除张三记录
DELETE from stu WHERE name='张三';
DELETE from stu;