day05 数据库

1:创建数据库

语法:CREATE DATABASE 数据库名;

2:连接到数据库

语法:USER 数据库名

3:删除数据库

语法:DROP DATABASE 数据库名;

4:整数数据类型:

从小到大依次为:TINYINT  SMALLINT MIDDLEINT INT BIGINT

5:浮点数据类型

包括:REAL FLOAT  DOUBLE DECIMAL NUMERIC

6:字符串型

包括CHAR NCHAR VARCHAR NVARCHAR TEXT NTEXT

其中CHARY与VARCHAR的区别为:CHAR长度固定,如果没有填,用空格填充空间,占内存大。VARCHAR长度可变,根据内容来确定空间,但CHAR 的效率比VARCHAR效率高,因为VARCHAR要计算长度。

7:二进制数据类型

BINARY VARBINARY

8:日期和时间数据类型

DATETIME SMALLDATETIME

9

/*创建表

*/
#表名 t_开始 列名 表名第一个字母作为前缀
#没列用逗号分割,最后一个列不需要逗号
CREATE TABLE t_stu(
s_id INT,
s_name VARCHAR(40),
s_phone VARCHAR(20),
s_grade DOUBLE,
s_teacher VARCHAR(20)
);

CREATE TABLE t_stu();
SELECT * FROM t_stu;
INSERT INTO t_stu VALUE(1,"张三","135558880",79.5,"Mr xu");

/*
删除表
*/

DROP TABLE t_stu;

/*
复制表
*/
CREATE TABLE t_stu1 SELECT * FROM t_stu; #要拷贝结构和数据
SELECT * FROM t_stu1;
DROP TABLE t_stu1;

CREATE TABLE t_stu2 SELECT * FROM t_stu WHERE 1=0;
SELECT * FROM t_stu2;

/*
修改表
*/
#修改表名 t_student
ALTER TABLE t_stu2 RENAME t_student;
SELECT * FROM t_student;

#修改列的属性 change 第一个原来表的列名 第二个修改后的列名
ALTER TABLE t_student CHANGE s_teacher s_teacher INT;
ALTER TABLE t_student CHANGE s_phone s_ph INT; #
ALTER TABLE t_student MODIFY s_teacher VARCHAR(20);

/*
增加一列
*/

ALTER TABLE t_student ADD s_sex CHAR(2);
SELECT * FROM t_student;

/*
删除一列
*/
ALTER TABLE t_student DROP s_sex;

/*
创建一个索引
*/
CREATE INDEX name_index ON t_student(s_name);
#unique创建了一个唯一索引,索引可以有多个,但是索引值必须唯一,可以为空
CREATE UNIQUE INDEX id_index ON t_student(s_id);

/*删除索引*/
ALTER TABLE t_student DROP INDEX name_index;

/*
实体完整性
*/
#主键约束 primary key 保证每行数据必须唯一,默认有一个非空
CREATE TABLE t_car(
c_id INT PRIMARY KEY,
c_name VARCHAR(100),
c_color VARCHAR(20)
);

DROP TABLE t_car;
SELECT * FROM t_car;

CREATE TABLE t_car2(
c_id INT,
c_name VARCHAR(100),
c_color VARCHAR(20)
);

ALTER TABLE t_car2 ADD CONSTRAINT pk_id PRIMARY KEY(c_id); #指定主键的名称
ALTER TABLE t_car2 ADD PRIMARY KEY(c_id); #不指定主键的名称直接操作列
INSERT INTO t_car2 VALUES(1,‘msld‘,‘red‘);

SELECT * FROM t_car2;

/*删除主键*/
ALTER TABLE t_car2 DROP PRIMARY KEY;

DROP TABLE t_car2;

/*
唯一约束
保证当前列里面的数据必须唯一
数据可以为null
*/
CREATE TABLE t_car2(
c_id INT,
c_name VARCHAR(100) UNIQUE,
c_color VARCHAR(20),
PRIMARY KEY(c_id) #也表示增加主键
);
SELECT * FROM t_car2;
INSERT INTO t_car2(c_name,c_color)VALUES(‘msld‘,"red");
INSERT INTO t_car2(c_name,c_color)VALUES(‘msld_v12‘,"blue");

时间: 2024-10-13 08:15:13

day05 数据库的相关文章

【黑马程序员】第5课:JDBC连接MySQL数据库

<pre> day05 上节内容回顾 (1)数据库语句 *创建数据库和查看数据库的语句 *切换数据库和删除数据库语句 (2)数据库表语句 *创建数据库表的语句 *创建带约束的表 **mysql的约束有三个 *删除表 (3)表中的记录语句 *插入记录 insert **如果类型是int类型,直接写值 **如果varchar或者日期类型,使用单引号包起来 *更新记录 update *删除记录 delete *查询记录 select.. from ... where ...group by havi

黑马day05 session实现登陆&amp;注销小案例

本案例主要使用session实现登录与注销的功能. 1.登录页面 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title&g

MySQL数据库视图

day05 MySQL数据库视图 一.视图概述: 视图是一个虚拟表,是从数据库中一个或多个表中导出来的表,内容是由查询定义的.数据库中只存在视图的定义,而没有相关的数据,这些数据四存放在原来的表中.因此,视图是依赖于原来的表中的数据,表中数据改变,视图中的数据也会改变. 视图的作用: 1.具有简单性. 2.具有安全性. 3.逻辑数据独立性. 二.视图: 1.创建视图:         create view 视图名 as select * from 表名;  注意事项: 1.运行创建视图的语句需

Java 数据库操作

JDBC连接数据库 首先要下载Connector/J地址:http://www.mysql.com/downloads/connector/j/ 这是MySQL官方提供的连接方式: 解压后得到jar库文件,需要在工程中导入该库文件 下面是百度经验分享方式,不再介绍 [http://jingyan.baidu.com/article/ca41422fc76c4a1eae99ed9f.html] JDBC操作数据库步骤: import java.sql.Connection; import java

数据库介绍与分类

目录 数据库介绍与分类... 1 1.1 数据库介绍... 2 1.1.1什么是数据库... 2 1.2数据库的种类... 2 1.2.1关系型数据库介绍... 2 1.2.2非关系型数据库介绍... 3 1.3 常用关系型数据库产品介绍... 4 1.3.1 Oracle数据库... 4 1.3.2 MySQL数据库... 5 1.3.3 MariaDB数据库... 5 1.3.4 SqlServer数据库... 6 1.3.5 Access数据库... 6 1.3.6 其他不常用数据库...

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题. 今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正

C#与数据库访问技术总结(八)之ExecuteNonQuery方法

ExecuteNonQuery方法 ExecuteNonQuery方法主要用来更新数据. 通常使用它来执行Update.Insert和Delete语句. 该方法返回值意义如下: 对于Update.Insert和Delete语句,返回值为该命令所影响的行数. 对于所有其他类型的语句,返回值为-1. Command对象通过ExecuteNonQuery方法更新数据库的过程非常简单,需要进行的步骤如下: (1)创建数据库连接. (2)创建Command对象,并指定一个SQL Insert.Update

Oracle 10g通过创建物化视图实现不同数据库间表级别的数据同步

摘自:http://blog.csdn.net/javaee_sunny/article/details/53439980 目录(?)[-] Oracle 10g 物化视图语法如下 实例演示 主要步骤 在A节点创建原表和物化视图日志 在B节点创建连接A节点的远程链接 在B节点处创建目标表和与目标表名称相同的物化视图 在B节点处刷新物化视图 升级采用存储过程定时任务JOB方式定时刷新物化视图 进一步优化 文章更新记录 参考文章 Oracle 10g 物化视图语法如下: create materia

Linux环境下MySQL数据库用SQL语句插入中文显示 “问号或者乱码 ” 问题解决!

问题: 在普通用户权限下执行 mysql -u root -p进入mysql数据库,中间步骤省略,插入数据:insert into 库名(属性)values('汉字'); 会出现如下提示:  Query OK, 1 row affected, 1 warning (0.00 sec)    表明出现错误,没有插入成功,然后执行select * from 表名   就会出现如下的问题:显示的表中出现乱码或者问号. 如图: 解决方案: 首先重新打开一个终端窗口(方便操作),进入root用户模式 执行