mysql的启动


mysql安装完成之后,和我们平常使用的软件不一样,他是没有快捷方式的。

1.        如何启动和停止mysql

a)        选择计算机—》点击右键—》选择管理—》服务和应用程序—》服务—》选择名称,输入M,就可以把M开头的应用全部显示出来

b)       刚安装好的mysql,启动类型是  《自动》,状态是《已启动》

c)        注意:启动类型是自动的话,我们每次开机的时候,这项应用就会随着开机启动,所以修改启动类型:选择 Mysql 点击右键 选择属性—》启动类型 选为《手动》。

d)       如果启动类型为《手动》,在开机的时候mysql没有启动。我们要使用的时候,需求去启动。 选择MySQL应用,点击右键  ,选择《启动》,MySQL正常启动



计算机-》右键 选择管理-》服务和应用程序 选择 服务

找到mysql服务  右键 属性  修改启动类型为  手动;

每次需要使用MySQL前 去启动服务

快速进入  服务界面  在cmd窗口 使用 services.msc

两种方式:

图形化操作:进入服务 手动启动

命令行:

启动:net start 服务名  net start mysql

停止:net stop 服务名  net stop mysql



使用DOS命令进入mysql

      登录命令: mysql –u用户名 –p密码;



MySQL的常用命令:

a)        Show databases;     查询已经存在的各个数据库

b)       Use test;   use 数据库名;  进入指定数据库名的数据库内

c)        Show tables ;   查看数据库中全部的表

d)       Create database 数据库名;   创建一个数据库名字是???


4.库的运维

登录MySQL命令登录数据库系统

mysql -u用户名 -p密码

案例:mysql -uroot -proot

使用show语句找出数据库系统有哪些数据库

mysql> SHOW DATABASES;

创建一个数据库MYSQLDATA

CREATE DATABASE 数据库名;

CREATE DATABASE 数据库名 DEFAULT CHARSET='utf8';

mysql> CREATE DATABASE eduask;

mysql>CREATE DATABASE eduask DEFAULT CHARSET='utf8';

进入对应的数据库

User 数据库名;

mysql>use eduask;

查看数据库中的表(必须进入数据库中使用)

mysql> SHOW TABLES;

删除对应数据库

Drop database 数据库名

mysql> drop database eduask;

5.MySQL数据类型

整型

MySQL数据类型

含义(有符号)

tinyint(m)

1个字节  范围(-128~127)

smallint(m)

2个字节  范围(-32768~32767)

mediumint(m)

3个字节  范围(-8388608~8388607)

int(m)

4个字节  范围(-2147483648~2147483647)

bigint(m)

8个字节  范围(+-9.22*10的18次方)

浮点型(float和double)

MySQL数据类型

含义

float(m,d)

单精度浮点型    8位精度(4字节)     m总个数,d小数位

double(m,d)

双精度浮点型    16位精度(8字节)    m总个数,d小数位

字符串(char,varchar,_text)

MySQL数据类型

含义

char(n)

固定长度,最多255个字符

varchar(n)

可变长度,最多65535个字符

tinytext

可变长度,最多255个字符

text

可变长度,最多65535个字符

mediumtext

可变长度,最多2的24次方-1个字符

longtext

可变长度,最多2的32次方-1个字符

日期时间类型

MySQL数据类型

含义

date

日期 '2008-12-2'

time

时间 '12:25:36'

datetime

日期时间 '2008-12-2 22:06:44'

timestamp

自动存储记录修改时间

6.表

表的标准创建语句

CREATE TABLE 表名(
    字段1 数据类型 约束,
    字段2 数据类型 约束,
    ...
    字段n 数据类型 约束
);
案例:
CREATE TABLE STUDENT(
SID INT PRIMARY KEY,
SNAME VARCHAR(20) NOT NULL,
SSEX CHAR(1),
SAGE INT
)

约束:

not null:非空约束,指定某列不为空

unique: 唯一约束,指定某列和几列组合的数据不能重复

primary key:主键约束,指定某列的数据不能重复、唯一

foreign key:外键,指定该列记录属于主表中的一条记录,参照另一条数据

check:检查,指定一个表达式,用于检验指定数据

 

Not null

create table temp(         
id int not null,         
name varchar(255) not null default ‘abc’,         
sex char null 
)

 

Unique

create table temp (         
id int not null,         
name varchar(25),         
password varchar(16), 
constraint uk_name_pwd unique(name) 
);

Primary key

create table temp (         
id int primary key,         
name varchar(25),         
password varchar(16)
); 
 
设置主键自增:auto_increment
create table temp (         
id int auto_increment primary key,         
name varchar(25),         
password varchar(16)
);

foreign key:

建立在两表或多张表中的关联关系,以保证数据完整性

注意:1.子表参照的值必须在主表被参照字段的值的范围内

      2.如果主表中有值被参照,那么主表中的相应记录不能被删除

      3.子表的外键参照的列只能是主表的主键列或唯一约束的列

CREATE TABLE student(
    sid INT PRIMARY KEY auto_increment,
    sname VARCHAR(20),
    scid INT,
    
    -- FOREIGN KEY (scid) REFERENCES class(cid)
 
    CONSTRAINT fk_scid FOREIGN key(scid) REFERENCES class(cid)
 
)ENGINE=INNODB;
 
DROP TABLE student;
DROP TABLE class;
 
语法1: FOREIGN KEY (外键字段) REFERENCES 主表(主键字段);
语法2: CONSTRAINT 外键名 FOREIGN KEY (外键字段) REFERENCES 主表(主键字段);
(外键名:fk_字段名)
---------------------------
ENGINE : 引擎 
 
mysql所特有一种数据存储机制

Check(MySQL数据库中,没有作用)

CREATE TABLE STUDENT(
SID INT PRIMARY KEY,
SNAME VARCHAR(20) NOT NULL,
SSEX CHAR(1),
SAGE INT check( sage<19)
)

 

    建表后操作表表结构:

查看表结构:

DESC 表名;
mysql> desc student;

修改列类型:

alter TABLE 表名 MODIFY 列名 目标类型;
mysql> ALTER TABLE student MODIFY sid VARCHAR(10);

增加列:

alter TABLE 表名 ADD 列名 类型;
mysql>alter TABLE student ADD sage int;

删除列:

alter TABLE 表名 DROP 列名;
mysql> alter table student drop sname;

修改列名:

alter TABLE 表名 CHANGE 旧列名 新列名 类型;
mysql> ALTER TABLE student CHANGE aaa bbb INT;

修改表名:

语法1:
ALTER TABLE 表名 RENAME 新表名;
语法2:
RENAME TABLE 旧表名 TO 新表名;
mysql> alter table student rename stu;
mysql> rename table student to stu;