windows下mysql数据库的基本使用

来源:互联网 发布:郭襄 金轮法王 知乎 编辑:程序博客网 时间:2024/05/29 10:24

1、Dos窗口下连接mysql 服务器。

mysql -hlocalhost -P3306 -uroot -proot

-h 后面接服务器,如果是本地服务器用 localhost,如果是远程服务器用IP地址。默认是本地localhost

-P 后面接端口号,默认是3306

-u 后面接用户名

-p 后面接密码

如果是默认的话可以直接 mysql -uroot -proot 不用 -h和-P。

2、退出连接 \q。

3、显示所有数据库(包含默认的)。 show databases;

3.1查询某一个数据库 

show databases like 'db1';  查询db1数据库。

show databases like 'd%';   查询以d开头的数据库,%代表任意字符,任意长度。

3.2 查询数据库的建库信息

show create database 'db'; 

4 、创建数据库: create database db_name [数据库选项];

例如创建数据库名称是 db1,编码方式是gbk的数据库。create database db1 character set gbk; 数据库的默认编码方式是utf8。

5、更改数据库: alter database 'db1' character set utf8; 更改数据库的编码方式为utf8。

6、删除数据库:drop database if exists 'db1';     使用此命令时,一定要慎用,因为删除,我们一般都认为是不可逆的。


7、创建数据表语句

create table tel_name (列结构) [表选项];


例如:创建班级表(在指定好默认数据库的情况下 use abc;) create table class (class_id int ,teacher varchar(20));

创建班级表(如果没有指定默认数据库)create table abc.class (class_id int ,teacher varchar(20));

8、显示某一数据库中全部的表。 show tables;

8.1、查看表的创建信息。 show  create table 'student';也可以用\G结尾,show create table 'student'\G

8.2、查看表的描述。desc student;

9、表的操作。

9.1、删除表:drop table [if exists] tbl_name;

9.2、修改表名: rename  table old_tbl_name  to new_tbl_name;

支持修改多个表名:rename table class to banji ,class2 to banji2;

9.3、表的跨数据剪切:rename table student to abc2.student,sutdent2 to abc2.student2;

9.4、表的列定义:

例如:create table student (name archer(20),stu_no archer(20));

修改表结构上级是: alter table tbl_name [add|drop|change|modify];

增加一个新的列: add new_column 新列的定义;

例如:alter table student add tizhong int;

:alter table student add insert_time timestamp default CURRENT_TIMESTAMP;

修改一个列的定义:modify 列名 列的定义

例如: alter table student  modify  stu_no  varcher(40);

删除一个列 drop 列名

例如:alter table student drop tizhong;

重命名一个列:change old_column 新列定义;

例如:alter table student change name xingming varcher(40);

10、表的简单操作(增、删、改、查)

例如数据库:

create table teacher (id int primary key auto_increment,t_name varchar(20),c_name varchar(20));

创建数据: insert into 表名(字段列表) values (值列表);

获得数据:select 字段列表 from 表名 where 查询条件;

例如:select * from teacher;   (*代表全部字段的含义);

删除数据:delete from 表名 条件;

修改数据:update 表名 set 字段1=新值1, .......条件。

11、数据类型

11.1、小数数据类型。

FLOAT     存储空间(字节)4

DOUBLE 存储空间(字节)8

DECIMAL 存储空间()

如何定义单精度和双精度类型

创建一个表:create table num2 (a float, b double);

插入值:insert into num2 values (1234567890.0123456789,1234567890.0123456789);

单精度:默认的精度是7个,但是不准,(可能取决于cpu)。

双精度默认有效数位17个,(通常我们也认为是16个左右)。

支持浮点支持科学计数法

浮点数支持科学计数法: 0.234*10^31.234E3

其中E代表为幂或者是范围。

insert into num2 values(0.23E3,456.7E2);

定点数

浮点数:小数点可以浮点。定点数:小数点固定。

定点数:decimal(M,D);

M:代表总位数,D:代表小数位数。(范围问题不存在)

M默认是10,D默认是0。

小数也支持zerofill,unsigned。

12、时间日期类型

12.1、日期时间类型表

类型显示格式取值存储空间零值DATATIMEYYYY-MM-DD HH:MM:SS'1000-01-01 00:00:00' 到'9999-12-31 23:59:59' 80000-00-00TIMESTAMPYYYY-MM-DD HH:MM:SS'1970-01-01 00:00:00'到'2038-01-19 03:14:07'40000-00-00DATEYYYY-MM-DD'1000-01-01'到'9999-12-31'30000-00-00TIMEHH:MM:SS'-838:59:59'到'838:59:59'300:00:00YEARYYYY1901到215510000     

13、字符串类型

类型最大长度备注char255字节char(M),M字符数,utf8<=85,gbk<=127varchar65535个字节,但需要1-2个保存信息,同时由于记录的限制,因此最大为65532编码不同,字符数不同,gbk<=32767,utf8<=21845

char(M):固定长度。varchar(M):可变长度。

M表示允许的字符串长度,M在varchar中的表示是允许的最大长度,char内M表示严格限定的长度。

text及孪生兄弟类型

在当前版本中,varchar和text表示的意义,几乎是一样的。

char的效率要高于varchar,但varchar的空间要优于char,一般在开发的时候,固定的长度都用char。

例如:

create table s_9 (a text, b text) character set latin1;

text文本有很多兄弟类型,tinytext,mediumtext,longtext。表示的字符串长度不一样。

13、列属性、自动增长。

常见的列属性表(not null, null,默认值:default,主键:PK,primary key,自动增长 auto_increment)

13.1、Reference 关联操作

13.2、Default value 字段默认值

13.3、Primary key|unique key  主索引 | 唯一索

13.4、Auto_increment  自动增长

13.5、NULL | not  是否允许为空

13.6、Comment 列注释

列属性、约束:保证表的结构和数据的正确性,稳定性。

14、实体之间的关系。

14.1、实体之间的关系1:1

14.2、实体之间的关系1:n

14.3、实体之间的关系m:n