连接数据库
命令行连接!
mysql -eroot -proot --连接数据库
update mysql.user set authentication_string=password('123456') where user='root' and Host ='localhost'; --修改用户密码
flush privileges; --刷新权限
----------------------------------------------------------------------------------
--所有的语句都使用;结尾
show databases; --查看所有的数据库
mysql> use school; --切换数据库use数据库名
Database changed
show tables; --查看数据库中所有的表
describe student; --显示数据库中所有的表的信息
create database westos; --创建一个数据库
exit; --退出连接
--单行注释(SQL的本来的注释)
/* (sql的多行注释)
helllo
asdas
dasda
*/
数据库xxx语言 CRUD 增删改查!
DDL:数据库定义语言
DML:数据库操作语言
DQL:数据库查询语言
DCL:数据库控制语言
操作数据库
操作数据库>操作数据库中的表>操作数据库中表的数据
1.创建数据库
CREATE DATABASE IF NOT EXISTS westos
2.删除数据库
DROP DATABASE IF EXISTS westos
3.使用数据库
--tab 键的上面,如果表名或者字段名是一个特殊字符,就需要带``
USE `school`
4.查看数据库
SHOW DATABASES --查看所有数据库
数据库的类型
数值:
tinyint 十分小的数据 1个字节
smallint 较小的数据 2个字节
mediumint 中等大小的数据 3个字节
int 标准的整数 4个字节 常用的 int
bigint 较大的数据 8个字节
float 浮点数 4个字节
double 浮点数 8个字节
decimal 字符串形式的浮点数 金融计算的时候,一般是使用decimal
字符串:
char 字符串固定大小的 0~255
vacher 可变字符串 0~65535 常用的变量 String
tinytext 微型文本 2^8-1
text 文本串 2^16-1 保存大文本
时间日期:
java.until.Date
date YYYY-MMM-DD,日期格式
time HH:mm:ss,时间格式
datetime YYYY-MM-DD HH:mm:ss 最常用的时间格式
timestamp 时间戳, 1970.11到现在的毫秒数!
year 年份表示
null(空值)
没有值,未知
注意,不要使用NULL进行运算,结果为NULL。
数据库的字段属性:
Unsigned:
(1)无符号的整数
(2)声明了该列不能声明为负数
zerofill:
(1)0填充的
(2)不足的位数,使用0来填充,int(3) , 5 --- 005
自增:
(1)通常理解为自增,自动在上一条记录的基础上 + 1(默认)
(2)通常用来设计唯一的主键~ index,必须是整数类型
(3)可以自定义设计主键自增的起始和步长
非空: NULL not null
(1)假设设置为 not null , 如果不给它赋值,就会报错!
(2)NULL,如果不填写值,默认就是null!
默认:
(1)设置默认的值!
(2)sex ,默认值为男,如果不指定该列的值,则会有默认的值!
拓展:
没一个表,都必须存在一下五个字段!表示一个记录存在的意义!
id 主键
version 乐观锁
is delete 伪删除
gmt_create 创建时间
gmt_update 修改时间