mysql的基础知识

从今天开始学习sql的基础知识,运用的是mysql工具来学习sql的相关基础知识。

sql是用于访问和处理数据库的标准的计算机语言。在学习Java的过程中,这是需要学习的基础知识。

sql能够对数据库实现增删改查的功能,这对学习Javaweb有帮助。现在开始学习mysql。

1.mysql的相关的概念介绍

mysql(Relational Database Management System)指的是关系数据库,基本上一个数据库中有一个或多个表格组成。

基本格式如下:

表头(header):指的是每一列的名称,也就是表中每一列数据的属性。

列(col):是指具有相同数据类型的数据的集合,即表头每个属性下的数据的集合。比如学生的名字数据。

行(row):用来描述每一个人或物的具体的信息。比如一个学生的信息。

键(Key):用来分辨数据表中特定人或物的标识,在当前表得当前列是唯一的。

值(Value):行的具体数据,每一个值必须与该列的数据类型相同。

2.在windows命令行中运行:

net start mysql:启动

net stop mysql:停止

sc delete mysql:卸载

dos命令行必须要在管理员模式下运行。

3.mysql脚本的基本组成

与Java类似,mysql基本上有标识符,关键字,语句以及函数组成。

标识符:用来命名对象的,比如数据库、表、列、变量等。

标识符的命名规则是在有多个单词时需要用下划线分隔。

一般以字母和数字组成。

关键字:

语句:像Java类中的代码一样,是组成mysql脚本的基本单位,每条语句都能完成特定的操作。

函数:一般分为字符串函数、数学函数、日期时间函数、搜索函数、加密函数、信息函数。

3.mysql的数据类型

mysql分为数字、日期\时间、字符串三大类。

数字:整除:tinyint(非常小的整数,0-255)、smallint(短整型)、mediumint(中等整数)、int(正常整数)、bigint(长整数)

            浮点数:float(单精度)、 double(双精度)、real、decimal

日期和时间:data、time、datetime、timestamp、year

字符串:字符串:char、varchar(可变字符型)

文本:tinytext、text、mediumtext、longtext

二进制:tinyblob、blob、mediumblob、longblob

4.登录mysql数据库

使用命令行,输入:

mysql  -u root -p

5.mysql的增删改查

增加:create  database  数据库名  [其他选项];(创建一个数据库)

是操作mysql的第一步,例如创建一个samp_db的数据库用来存储上面的学生信息表:

create  database  samp_db character set utf8;(character  set  utf8:指定数据库的字符串编码为utf8)

同时要选择数据库来进行下一步的创建数据表,命令:use  数据库名;


    create  table  表名称(列名称);

选择数据库后就要进行数据库表的创建,比如创建上面的学生信息表:

create  table  students  

(

id  int  unsigned  not  null  auto_increment  primary  key,

name  char(8)  not null,

sex  char(4)  not null,

age  tinyint  unsigned  not  null,

tel  char(13)  null  default  "-"

);

"id" 为列的名称;

 "int" 指定该列的类型为 int(取值范围为 -8388608到8388607), 在后面我们又用 "unsigned" 加以修饰, 

表示该类型为无符号型, 此时该列的取值范围为 0到16777215;

 "not null" 说明该列的值不能为空, 必须要填, 如果不指定该属性, 默认可为空; 

"auto_increment" 需在整数列中使用, 其作用是在插入数据时若该列为 NULL, MySQL将自动产生

一个比现存值更大的唯一标识符值。在每张表中仅能有一个这样的值且所在列必须为索引列。

 "primary key" 表示该列是表的主键, 本列的值必须唯一, MySQL将自动索引该列。


    insert  into  表名  [(列名1,列名2,列名3,....)]  values (值1,值2,值3,.....);(向表中插入数据)

比如将上面学生信息数据添加到数据库表中:

insert  into  students  values(1,"王刚","男",20,"13811371377"),(2,"孙丽华","女",21,default),(3,"王永恒","男",23,"18377777036"),

(4,"郑俊杰","男",19,"13910272345"),(5,"陈芳","女",22,"18080800888"),(6,"张伟朋","男",21,"13288097888");

当需要部分插入时:

insert  into  students  (name,sex,age)  values  ("孙丽华","女",21);

    alter  table  表名   add  列名  列数据类型  [after  插入位置];(对创建后的数据表进行添加列操作)

在表的最后追加列 address: 

alter table students add address char(60);

 在名为 age 的列后插入列 birthday: 

alter table students add birthday date after age;


删除:delete  from  表名称  where  删除条件;(删除数据表中特定的数据)

删除id为2的行: 

delete from students where id=2; 

 删除所有年龄小于21岁的数据: 

delete from students where age<20; 

 删除表中的所有数据:

 delete from students;


    alter  table  表名  drop  列名;(对创建后的数据表进行删除列操作)

删除 birthday 列:

 alter table students drop birthday;


    drop  table  表名;(删除整张表)

删除 workmates 表: 

drop table workmates;


    drop  database  数据库名;(删除整个数据库)

删除 samp_db 数据库: 

drop database samp_db;

修改:update  表名称  set  列名称  =  新值  where  更新条件;(修改数据表中的特定数据)

将id为5的手机号改为默认的"-": 

update students set tel=default where id=5; 

 将所有人的年龄增加1: 

update students set age=age+1; 

将手机号为 13288097888 的姓名改为 "张伟鹏", 年龄改为 19: 

update students set name="张伟鹏", age=19 where tel="13288097888";


    alter  table  表名  change  列名称  列新名称  新数据类型;(对创建后的数据表进行修改列操作)

将表 tel 列改名为 telphone: 

alter table students change tel telphone char(13) default "-"; 

 将 name 列的数据类型改为 char(16):

 alter table students change name name char(16) not null;


    alter  table  表名  rename  新表名;(重命名表)

重命名 students 表为 workmates:

 alter table students rename workmates;


查询:show  databases;(查看创建的所有数据库)


    show  table;(查看已创建的表的名称)


    describe  表名;(查看指定的表的详细信息)


    select  列名称  from  表名称  [查询条件];(根据一定的查询条件在数据库中获取数据)

比如要查询students表中所有学生的年龄和名字:

select  name,age  from  students;

当要查询所有内容时:

select  *  from  students;


    select  列名称  from  表名称  where  条件;(按特定条件查询数据)

当要查询所有性别为女的信息:

select  *  from  students where  sex="女";

查询年龄在21岁以上的所有人信息: 

select * from students where age > 21; 

查询名字中带有 "王" 字的所有人信息: select * from students where name like "%王%"; 

查询id小于5且年龄大于20的所有人信息: select * from students where id<5 and age>20;


这就是mysql中简单的增删改查的操作。

    





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值