【初学菜鸟作-mySQL数据库的基本使用】

Mysql数据库的基本应用

一.数据库的基本命令

登录数据库

[[email protected] ~]# mysql -h127.0.0.1 -uroot-p123456

mysql> show databases;

--查看服务器已有的库

mysql> select database();

--显示当前所在的库

mysql> show tables;

--显示当前库存在的表

mysql> select * from user\G

--换行显示表里的所有记录(*代表字段,带\G表示换行显示)

mysql> use test

--切换到指定库

mysql>desc 表名                           --显示当前库内制定表的表结构

二.数据库的添加,删除

mysql> create database yeyue;    --新建一个名称为yeyue的库

(苦名具有唯一性

区分字母大小

数据库名 可以使用数字、字母、下划线,但不能是纯数字

不要使用特殊符号

不要使用关键字性)

mysql> drop database yeyue;      --删除库yeyue,库内的表将一并删除

三.数据库的各个数据类型

1.数值类型

整型  例:(createtable 表名(age tinyint(3) unsigned));

--tinyint代表数值的最大范围

--unsigned代表对应的字段只保存正数

--3代表数值宽度,数值不够指定宽度时,在左边填空格补位。数值大于三位时由数值类型决定。由宽度仅显示宽度,存数值的大小由类型决定。

--使用关键字ZEROFILL时,填0代替空格补位

--当字段值与类型不匹配时,字段值作为0处理

--数值超出范围时,仅保存最大/最小值

浮点型 例: create table 表名 (gz float(9.3));

--float代表但精度浮点数

--9代表数值总长度

--3代表小数点后位数,整数位数则为9-3=6

2.字符类型1-2551-65535

定长   char(N)

--当存储的字符小于存储宽度N时,用空格补足指定的宽度

--当存储的字符大于制定宽度时,只存储开头到N值的位数

变长     varchar(N)

--根据存储字符的多少来开辟存储空间,当存储的字符位数大于N值时,值存储开头到N值的位数

*数值类型的宽度是显示宽度,并不能限制字段存储数值的大小,字段存储数值的大小由字段的类型决定。设置宽度的目的,是为里节省内存空间。

3.日期时间类型:

year     年        yyyy

date           日期     yyyy-mm-dd

time     时间     hh:mm:ss

datetime/timestamp 日期时间    yyyy-mm-dd hh:mm:ss

例:

mysql> create table yy(

-> name varchar(10),

--变长字符宽度最大为10

-> age tinyint(2) unsigned,

--年龄字符最大长度为2,只有正数

-> syear year,

--出生年

-> birthdat date,

--生日

-> uclass time,

--上课时间

-> metting datetime

--约会时间

-> );

mysql> select * from yy;               --查看表yy内的所有内容,*代表所有内容,如查看具体项*处改为具体字段名,如select name from yy;或select (name,age) from yy;

常用的时间函数:

mysql> insert intoyy(syear)values(now());  --添加出生年份通过本机现在日期中提取年份的内容

用2位数给year类型字段赋值时的显示方式

1~69     20xx

70~99   19xx

0           0000

日期时间类型:

datetime 与timestamp  区别

--大小不一样

--存储范围不一样

--赋值方式不一样

插入记录时不给timestamp类型的字段赋值时,字段用系统时间给字段赋值

4.枚举类型

单选     enum    只能在列举的范围内选一个(选择项可以通过顺序用数字代替)

set       在列举的范围内选一个或者多个

例:create   table  yy(

name  varchar(10),

age  tinyint(2) unsigned,

sex  enum("boy","gril"),

likes set("book","music","film","gril")

);

mysql> insert into yy values

->("jim",23,"no","book,film");

insert into yy(name,age,sex) values("jerry",39,"2");    --(选择项可以通过顺序用数字代替)

5.在表内添加字段值,删除字段,删除表

方法1:insert   into   数据库名.表名

values

(字段名1的值,"字段名2的值",字段名,N的值);

--在指定库内的指定表内添加各字段内容

方法2:insert   into   数据库名.表名(字段名1,字段名2,字段名N)

values(字段名1的值,"字段名2的值",字段名,N的值);

--在指定库内的指定表内添加指定字段的内容

方法3:insert   into   数据库名.表名(字段名1,字段名2,字段名N)

values

(字段名1的值,"字段名2的值",字段名,N的值),(字段名1的值,"字段名2的值",字段名,N的值)

--在指定库内的制定表内添加多行字段内容

delete from 表名  --删除指定表名内的所有记录

drop table 表名  --删除指定表

四.数据库表内的约束条件

字段是否允许为空  null   默认允许为空

not  null     不允许给字段赋null值

name  char(3)    not null,

默认值    向表中插入记录时,不给字段赋值时,使用默认值给自己赋值

默认值默认为NULL

age  int(3)   default  23,

name   varchar(3) not null   defualt"userpublic",

mysql> create table t1(

-> name varchar(7) not null,

-> age tinyint(2) not null default 27,

-> sex enum("b","g") notnull default "b"

-> );

mysql> desc t1

-> ;

+-------+---------------+------+-----+---------+-------+

| Field | Type          | Null | Key | Default | Extra |

+-------+---------------+------+-----+---------+-------+

| name | varchar(7)    | NO   |    | NULL    |       |

| age  | tinyint(2)    | NO   |    | 27      |       |

| sex  | enum(‘b‘,‘g‘) | NO   |     | b      |       |

+-------+---------------+------+-----+---------+-------+

mysql> insert into t1(name)values("dd");

--添加用户dd,其他延续默认值

mysql> insert into t1(name,age)values("dd",33);  --添加用户dd,年龄不延续默认值

mysql> select * from t1;

+------+-----+-----+

| name | age | sex |

+------+-----+-----+

| yy  |  27 | b   |

| dd  |  27 | b   |

| dd  |  33 | b   |

+------+-----+-----+

可看到age,sex字段自动添加里默认值,指定的值不延续

五.表结构的修改

*受表中已有记录的限制,同时会影响表中数据的存储。所有修改表结构最好在表中还没有记录的时候修改。

修改格式: alter table 表名 动作;

1.添加字段 add

add  字段名类型;                --必有项

add  字段名类型(宽度) 约束条件;

add 字段名 类型(宽度)约束条件,add 字段名 类型(宽度)约束条件–修改多条记录

*默认新添加的字段都追加在已有字段的下方

first 把新字段添加在已有字段的首位

例:alter table   t20 add  stu_num varchar(4) not nullfirst;

after 字段名    把新字段添加在已有字段的下方

例:alter table   t20 add  birthday date not null  after sex;

2.删除字段drop

alter table 表名drop  字段名;   --删除单一字段

alter table 表名  drop  字段名1,drop  字段名2;  --删除多个字段

3.修改字段类型 modify

alter table 表名modify 字段名 新的类型(宽度)约束条件  --修改单一字段类型

alter table 表名modify 字段名 新的类型(宽度)约束条件,alter table 表名 modify 字段名 新的类型(宽度)约束条件      --修改多个字段类型

例:mysql> alter table yy modifygz tinyint(8);  --将字段gz的类型改为tinyint(8)

4.修改字段名 change

alter table 表名change  源字段名  新字段名   类型(宽度)  约束条件;

例:mysql> alter table yy changegongzi gz float(8,3)

--修改了字段名和字段类型

【初学菜鸟作-mySQL数据库的基本使用】

时间: 2025-01-07 13:11:47

【初学菜鸟作-mySQL数据库的基本使用】的相关文章

【初学菜鸟作-MySQL数据库表的基本操作与权限管理】

表基本操作练习 1 复制用户信息表user的所有记录到userdb表里. mysql> create table userdb select * fromuser; 2 查看userdb表的表结构 mysql> desc userdb; 3 删除userdb表的所有记录 mysql> delete from userdb 4 把name字段设置为index字段 mysql> create index name on userdb(name) 5 添加编号字段id  在所有字段上方,

【初学菜鸟作-MySQL代理服务器设置与集群】

mysql代理服务器的搭建(读写分离) 实验环境: 所有主机之间物理连接正常 2台数据库服务器上的数据库服务要正常运行,并在期内建立一个同名同表的库,但内容区别,以便验证 停止mysql代理服务器上的数据库服务 2台数据库服务器上授权yeyue用户可以从网络中的所有主机访问自己,对自己   的所有库所有表有完全权限  密码123 grant all on *.*  to [email protected]"%" identified by"123"; 二.配置代理服

【初学菜鸟作--邮件服务的简单配置案例】

邮件服务器的配置以及使用 实验一:                    实验目的:简单搭建出邮件服务器并测试其可用性                    实验环境:DNS服务器一台,安装有Portfix的邮件服务器一台 实验步骤: 一.邮件的发送(SMTP) 1.在邮件服务器配置主机名,ip,并安装portfix并启动 [[email protected]~]# tail -2 /etc/sysconfig/network HOSTNAME=mail.tarena.com   [[email

【初学菜鸟作--KVM虚拟机配置及用法】

KVM虚拟机配置及用法 1.主要存放位置: 安装kvm虚拟机默认存放位置  --/var/lib/libvirt/images kvm虚拟机配置文件存放位置  --/etc/libvirt/qemu/ 2.常用管理命令: 管理命令 virsh list --查看已打开虚拟机列表 virsh list --all --查看所有虚拟机列表 virsh version --查看版本号 virsh start yeyue1     --启动虚拟机 virsh create /etc/libvirt/qe

【初学菜鸟作--DHCP的配置应用】

在服务器配置DHCP使客户机自动获取ip地址,网关,DNS 1.为服务器设置ip地址,网关,主机名,DNS服务器地址 为服务器设置ip地址 [[email protected] ~]# vim/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static HWADDR=00:0C:29:19:BB:76 ONBOOT=yes IPADDR=192.168.1.1 NETWORK=255.255.255.0   为服务器

【初学菜鸟作--NFS共享服务在配置】

配置NFS共享服务,以客户机1可以访问服务器的共享 1. 将/root共享给192.168.1.250,可写.同步,允许客户机以root权限访问     查看服务器有没有安装portmap和nfs-utils-1.0.9-66.el5 [[email protected] ~]# rpm -q nfs-utils-portmap   配置nfs配置文件 [[email protected] ~]# vim /etc/exports /root          192.168.10.20(rw,

【初学菜鸟作--FTP的搭建与相关设置】

创建ftp服务器,设置并验证其控制参数 安装vsftp ftp服务的安装 [[email protected] Server]# rpm -ivhvsftpd-2.0.5-28.el5.x86_64.rpm [[email protected] ~]# vim /etc/vsftpd/vsftpd.conf 主配置文件重要参数 anonymous_enable=YES匿名用户可否访问,为NO时匿名用户不可登陆 local_enable=YES                     是否启用本地

【初学菜鸟作--HTTP服务的安装及相关配置】

HTTP服务的安装及相关配置 实验目的:对HTTP服务进行安装配置,以达到访问目的及访问权限控制 实验准备:安装有apache软件的服务端(192.168.1.1)                  客户机1(192.168.1.2)客户机2(192.168.1.3) 保证客户机与服务端的连通 实验一:服务端的基本配置与HTTP服务的安装,初始浏览 1.     服务端的基本配置 Ip配置: [[email protected]~]# ifconfig eth0 | head -2 |tail

【初学菜鸟作--samba搭建与配置】

Samba(跨平台的共享服务)使用以及配置案例:       实验一: 工作组为Tarena       将目录 /usr/src 共享给所有人       共享名设为 tools       允许所有人访问.无需密码验证       访问权限为只读 实验步骤: 配置服务端与客户端的ip地址,保证连通 通过yum安装samba-client服务 安装:samba-commonsamba-client完成后,进行主配置文件修改来配置共享 [[email protected] samba]# vim