一、数据库curd
=======================================SQL语句=====================================
1、对数据库进行操作
*连接数据库
cmd->mysql -u用户名 -p密码
mysql -uroot -p123
*创建数据库
-语句 : create database 名称;
create datebase testdb1;
*查看数据库
-语句 : show databases;
(显示当前所有的数据库)
*删除数据库
-语句 : drop database 要删除的名称;
*切换数据库
-语句 : use 数据库名称;
2、对数据库表进行操作
==================================创建不带约束表===================================
(1)*创建数据库表
-如果想要创建表,首先要到切换到数据库里面去
-语句 :
create table 表名(
字段名称1 字段类型,
字段名称2 字段类型,
);
-向数据库里面添加记录时候,如果记录类型是一个字符穿类型或者日期类型、
--注意一:字符串类型需要写长度
--注意二:这两个类型的值必须使用应该括起来
-字段类型
字符串型
VARCHAR、CHAR
--二者区别:
*如果把字段的类型设置成字符串类型,类型后面必须要加上长度 varchar(20) char(20)
*Char 类型长度是固定的
如果定义char(20),长度固定20.比如记录值aa,到数据库里面存储的方式,aa加很多空格、
*VarChar类型长度是可变的
如果定义varchar(20),比如记录值是bb,到数据库里面存储方式,直接存bb,没有空格、
大数据类型
BLOB、TEXT
--主要用于存储文件到数据库,但是实际应用中,不可能直接把文件存到数据库里面、
数值型
TINYINT 、SMALLINT、INT、BIGINT、FLOAT、DOUBLE
--对应java、里面基本数据类型:
byte short int long float double
逻辑性
BIT
--对应java里面基本数据类型boolean
日期型
DATE、TIME、DATETIME、TIMESTAMP
--data:只能表示日期
--time:只能表示时间
===========================
--datatime:需要手动输入日期的格式
--TIMESTAMP:不需要手动输入,字段添加当前的日期到数据库表里面
-创建一个员工表 employee
字段 属性
id int型
name 字符型
sex 字符型
birthday 字符型
job 字符型
salay int型
-语句
create table employee (
id int,
name varchar(40),
sex varchar(20),
bir varchar(40),
job varchar(40),
sal int
);
==================================查看表结构====================================
(2)*查看创建的表结构
-语句 :desc 表名称;
mysql> desc employee;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(40) | YES | | NULL | |
| sex | varchar(20) | YES | | NULL | |
| bir | varchar(40) | YES | | NULL | |
| job | varchar(40) | YES | | NULL | |
| sal | int(11) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
-关于desc语句的使用问题
如果电脑上安装了杀毒软件,在某些情况下,这个语句不能执行、
==================================创建带约束表=================================
(3)*创建带约束的表单
-约束有三种
--第一种约束:主键约束
*定义的类型后面、
*语法:primary key:非空,唯一性
-自动增长:auto_increment
-每一次插入记录,自动增加一个值
--比如:添加第一条记录,自动添加一个值 1
--比如:添加第二条记录,在之前的基础上+1
--第二种约束:唯一性约束
*这条记录值不能有重复的
*定义的类型后面 unique
--第三种约束:非空约束
*表里面字段上面不能有空数据,必须有数据
*语句 在name varchar(40) not null;
*创建一个带约束的表
create table person(
id varchar(40) primary key,
name varchar(40) not null,
ser varchar(20) not null,
birthdaty varchar(40) not null,
job varchar(20) not null,
salay varchar(20)
);
*查看带约束的表
mysql> desc person;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| id | varchar(40) | NO | PRI | NULL | |
| name | varchar(40) | NO | | NULL | |
| ser | varchar(20) | NO | | NULL | |
| birthdaty | varchar(40) | NO | | NULL | |
| job | varchar(20) | NO | | NULL | |
| salary | varchar(20) | YES | | NULL | |
+-----------+-------------+------+-----+---------+-------+
6 rows in set (0.01 sec)
==================================删除指定表=============================
(4)*删除数据库表
-语句: drop table 表名称;
==================================查看所有表=============================
(5)*查看数据库里面所有的表
-语句:show tables;