标签:知识点 varchar -- 数据库 字段 sc select
数据库Day One july 30
一、使用cmd来操作数据库
输入命令:mysql –uroot –proot(此命令具有最高权限)mysql –uroot -p
1.(-uroot,代表用户名是root,-proot 代表是密码root)
2.如果用户名或者密码不对,则出现错误提示:Access denied…(访问被拒绝,权限不够)
3.mysql命令没有传用户名密码,则默认是账户,密码均是空的用户。--操作权限小
4.show databases;-显示当用户的所有数据库
5.use 数据库名字; -表示进入到当前需要操作的某个数据。
6.show tables: - 显示当前操作的数据库中所有的表。(table – 表)
7.desc 表的名字:比如…desc person ;--显示某个表定义的时候详细信息,包括有哪些字段(filed)类型(type)
二、数据库分类
数据库分类:
- 关系型数据库: oracle , nysql , sql server , DB2(IBM) 主要通过SQL进行数据处理
- 非关系型数据库(不支持SQL): MongoDB , Redis , Hbase
ER模型(E – Entity实体, R – Relation 关系)
- ER模型,实际就是指数据表的一种可视化的图形表示方式
- 矩形代表实体
- 菱形表示关系
- 椭圆表示的实体的属性
实体之间的关系
一对一:一个国家一个总统
一对多:一个班级由多个学生
多对多:课程和学生
**每一个实体对应数据库中的一张表,数据库中每一张表,对应一个java实体类。
SQL(Struct query language结构化查询语言)
sql语句注释:第一种:--注释 第二种:/*注释*/
当写一个.sql的文件的时候,如果要加注释,采用上面两种方法,一种只能sql语句的后面。
三、在cmd中使用DDL语句操作数据库
- 命令行连接数据库
-
创建数据库 指定字符集 --> create database 数据库名字 default character set utf8
3. 删除数据库 --> drop database 数据库名字
- 创建表的属性(table)
- 创建表的命令create table表里的属性
- 字段信息,写在()里面,每个字段之间用“,”分隔,最后一个字段不需要“,”
- 每个字段必须在有字段名和字段类型,字段名如果和sql关键字重名,需要使用引号引起来。【sql中不区分单引号和双引号】
- NOT NULL :表示字段的value不能为null。
- auto_increment:表示该字段对应的内容自动增加,一般用于int类型
- primary key:设置字段为主键。主键不能为空,且不能重复。
create table tbl_test (test_id int auto_increment primary key ,test_name char(50), test_age int );
注:key可以大写,也可以小写。
存储的数据,是否要区分大小写,表明,字段名等都不区分大小写。 --sql语言中
存储的数据,是否要区分大小写?希望存储的数据区分大小写。
- 数据类型
int / bigint --整数
char --定长字符串【如果设置了char的长度为50,那么每个字符串长度都是50】 超出长度则被忽略
varchar --可变长字符串【如果设置了varchar的长度为50,那么实际已存入的字符长度为准】
decimal/numeric –小数 salary decimal(10,2):整数位8位,小数位2
datetime -- 日期,范围很广(常用)
timestamp --日期,范围:1970~2032年,优势支持时间区域的变换
- 数据表的设计原则
- 字段不可再分,eg:一个字段存座机就不能存电话号码
--应该设计为两个字段,一个专门存手机号,一个专门存手机号,一个专门村座机号
- 一般来说每个表有一个主键字段
- 其他字段必须直接依赖主键,eg:员工表不能存部门信息
练习:用sql语句创建一个表,用于存储学校school
学校编号:sc_code varchar
学校名字:sc_name varchar
地址:sc_address varchar
生日:sc_birth datetime
占地面积:sc_area decimal
create table school(sc_code varchar(4) primary key, sc_name varchar(100) not null,
sc_address varchar(300),sc_birth datetime,sc_area decimal(10,3))
四、DML语句
-
insert插入数据到表中
insert into 表名 values(字段1值,字段2值….)
插入所有字段,按建表的时候的字段顺序。必须所有的字段都要插入值,并且按字段的默认排序
直插入部分字段的值
insert into 表名(字段1,字段2…) values(字段1的值,字段2的值…)
--如果某个字段建表的时候,设置了not null的约束条件,那么必须给该字段设置值
--表名中的字段的声明和values中的字段值,应该是对应关系
--字段名和字段的值必须数量一致,顺序一致
--允许为null的字段可以不给值
设置为自动增长的字段,可以不给值
insert into tbl_test(test_name,test_age) values(‘xiaodu’,30)
2.select 表的查询(重点)
- 全表查询
select * from (表名); --*代表所有字段名
查询出所有字段,所有数据行
select*from school;
select * form tbl_test;
select 字段名1,字段名2,…from表名;
查询出指定的字段名对应的数据,所有数据行
select sc_code,sc_name from school;(查指定列)
- 根据where条件查询
--select*form表名 where条件:--条件自定
select*from school where sc_code = ‘1002’;---找出sc_code字段值为1002的行
标签:知识点,varchar,--,数据库,字段,sc,select 来源: https://www.cnblogs.com/loveDonkey/p/16097109.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。